需要有关字符串格式的帮助

Goo*_*ose 2 python string file

我在Python 3中编写了这个程序,该程序采用CSV文件查找特定状态的最小和最大死亡率.

我基本完成了程序,它在shell中正确输出,但我有一个问题:

  1. 不同的状态在名称中有不同的字符长度,并且间距确实正确,如何使用字符串格式化使字符串空间均匀,而不管打印的字符数是多少?

这是我有的:

print ("\n", "Indicator                       |", "Min                   ",
       "        | Max     ")
print ("-----------------------------------------------------------------------------------------------")
Run Code Online (Sandbox Code Playgroud)

这是输出:

在此输入图像描述

它适用于"明尼苏达州",但对于"哥伦比亚特区",它不能均匀地格式化.

有什么建议?谢谢.

Joh*_*ers 5

使用此处描述的字符串格式:http://docs.python.org/release/3.1.5/library/string.html

例如:

print('{:20} | {:20} {:5.2f} | {:20} {:5.2f}'.format(title, states[statemin], minimum, states[statemax], maximum))
Run Code Online (Sandbox Code Playgroud)

将20替换为将发生的最长的字符串.

请注意,我假设最小值和最大值是浮点数,如果它们是字符串,则不能使用"{:x.yf}"表示法,您可以使用{:6}或类似的东西.

{:20}表示20空格的字符用于字符串,即使它更短(更长时间不截断).{:5.2f}表示5空格用于浮点数,其2位于小数点后面.