0

我的代码将产生一个右对齐的输出。这是代码:

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)
4

1 回答 1

1

您只需将<符号用于具有新样式格式的左对齐文本:

fmt = "{:<{size}s}".format(star*n, size=10)

这是旧样式格式提供的奇怪等价物:

fmt = "%-*s" % (10, star*n)

>>> "%*s" % (10, "***")
'       ***'
>>> "%-*s" % (10, "***")
'***       '
于 2013-04-21T22:57:42.777 回答