有没有办法让我的输出像这样右对齐:
Item: $ 13.69
Tax: $ 5.30
Oth: $ 2.50
---------------
Total: $ 99.80
请注意,我使用的是Python 3。
您可以使用字符串的.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
的第0项,并在5个空格内正确证明它"。 '{1:>6.2f}' 部分说取给.format
的第一项,在 6 个空格内右对齐,格式化为小数点后 2 位的小数。
当然,在实际代码中,这可能是循环的一部分。
使用字符串格式:
print("$%6s" % dec_or_string)
对于要对齐的所有项目,可以在文本前使用相同数量的空格。
另一种选择是使用 str.format 运算符,如此处所述。