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 に答える