2013-09-29 191 views
-1

有沒有一種方法,我可以右對齊我的輸出在這樣的方式:在Python中對齊輸出?

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

請注意,我使用Python 3

回答

0

可以使用的空間等量之前包含您想要對齊的所有項目的文本。

另一種選擇是使用str.format運算符,如here所述。

+0

如果顯着> 4個字母,則使用相同數量的選項卡將不起作用。 – nachshon

0

使用字符串格式化:

print("$%6s" % dec_or_string) 
4

您可以使用字符串的.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}' 部分說:「採取零物品給予.format,並在5個空格內右對齊「。 '{1:> 6.2f}'部分表示將.format給出的第一個項目在6個空格內右對齊,格式化爲小數點後兩位小數。

當然,在真實的代碼中,這可能是循環的一部分。