在Python中对齐输出?

时间:2013-09-29 15:33:24

标签: python

有没有办法可以像这样对齐我的输出:

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

请注意我使用的是Python 3。

3 个答案:

答案 0 :(得分: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}'部分说“将第0个项目赋予.format,并在5个空格内右对齐”。 '{1:> 6.2f}'部分是说给.format的第一个项目,在6个空格内右对齐,格式化为带小数点后2位的小数。

当然,在实际代码中,这可能是循环的一部分。

答案 1 :(得分:0)

您可以在文本前使用相同数量的空格,以及要对齐的所有项目。

另一种选择是使用str.format运算符here

答案 2 :(得分:0)

使用字符串格式:

print("$%6s" % dec_or_string)