-1

次のような方法で出力を右揃えにする方法はありますか:

 Item: $  13.69
  Tax: $   5.30
  Oth: $   2.50  
---------------
Total: $  99.80  

私はPython 3を使用していることに注意してください。

4

3 に答える 3

5

.formatこれを行うには、文字列のメソッドを使用できます。

fmt = '{0:>5}: ${1:>6.2f}'
print(fmt.format('Item', 13.69)) # Prints ' Item: $  13.69'
print(fmt.format('Tax', 5.3)) 
print(fmt.format('Oth', 2.5))
print('-'*len(fmt.format('Item', 13.69))) # Prints as many '-' as the length of the printed strings
print(fmt.format('Total', 99.8))
# etc...

'{0:>5}' の部分は、「 に与えられた 0 番目の項目を取り、.format5 つのスペース内で右揃えにする」と言っています。'{1:>6.2f}' の部分は、 に与えられた最初の項目を取得し、.format6 スペース以内で右揃えし、小数点以下 2 桁の 10 進数としてフォーマットすることを示しています。

もちろん、実際のコードでは、これはおそらくループの一部です。

于 2013-09-29T15:41:52.953 に答える
0

文字列フォーマットを使用:

print("$%6s" % dec_or_string)
于 2013-09-29T15:41:42.447 に答える
0

整列するすべてのアイテムで、テキストの前に同じ量のスペースを使用できます。

別のオプションは、ここで説明されているようにstr.format演算子を使用することです。

于 2013-09-29T15:35:01.573 に答える