Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中对齐输出?_Python - Fatal编程技术网

在Python中对齐输出?

在Python中对齐输出?,python,Python,有没有一种方法可以使我的输出正确对齐,如下所示: Item: $ 13.69 Tax: $ 5.30 Oth: $ 2.50 --------------- Total: $ 99.80 请注意,我使用的是Python 3。您可以在文本前使用相同数量的空格来对齐所有要对齐的项目 另一个选项是使用所解释的运算符。使用字符串格式: print("$%6s" % dec_or_string) 您可以使用字符串的.format方法执行此操作: fmt = '{0:>

有没有一种方法可以使我的输出正确对齐,如下所示:

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

请注意,我使用的是Python 3。

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

另一个选项是使用所解释的运算符。

使用字符串格式:

print("$%6s" % dec_or_string)

您可以使用字符串的
.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个空格内右对齐,格式为小数点后两位


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

如果有大于4个字母,则使用相同数量的制表符将不起作用。