我的代码将生成一个右对齐的输出。这是代码:
star = '*'
n = 0
while star:
n = n+1
fmt = "{:>{size}s}"
print fmt.format(star*n, size=10)
if n > 9:
break
输出是:
*
**
***
****
*****
******
*******
********
*********
**********
如果我想使用“%10s”而不是这个,我该如何更改?:
fmt = "{:>{size}s}"
print fmt.format(star*n, size=10)
答案 0 :(得分:1)
您只需将<
符号用于左对齐文本和新样式格式:
fmt = "{:<{size}s}".format(star*n, size=10)
以下是旧式格式提供的奇怪的等价物:
fmt = "%-*s" % (10, star*n)
>>> "%*s" % (10, "***")
' ***'
>>> "%-*s" % (10, "***")
'*** '