python问题,用format函数来格式化字符串,如何设置宽度为变量?

2024-12-14 05:17:44
推荐回答(3个)
回答1:

#一个例子(缩进格式看图)

strs=[

"一","一千","一千零",

"一千零一","一千零一夜"

]

for s in strs:

print("{:*^{b}}".format(s,b=len(s)+4))

print()

for s in strs:

print("{:!^{}}".format(s,len(s)+6))

print()

for s in strs:

print("{0:=^{1}}".format(s,len(s)+8))

回答2:

在{}里继续嵌套一次{},并在format的参数里增加一项即可。

b=10
print("{0:*^{width}}".format("字符串", width=b))

b=30
print("{0:*^{width}}".format("字符串", width=b))

最后得到的输出如下
***字符串****
*************字符串**************

回答3:

print(f"{{0:*^{b}}}".format("字符串"))
或者
print("{{0:*^{0}}}".format(b).format("字符串"))