使用%将python中的输出对齐到右侧

时间:2013-04-21 22:56:31

标签: python

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

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)

1 个答案:

答案 0 :(得分:1)

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

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

以下是旧式格式提供的奇怪的等价物:

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

>>> "%*s" % (10, "***")
'       ***'
>>> "%-*s" % (10, "***")
'***       '