2

我用 Python 3 编写了这个程序,它采用 CSV 文件来查找特定州的最小和最大死亡率。

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

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

这是我所拥有的:

print ("\n", "Indicator                       |", "Min                   ",
       "        | Max     ")
print ("-----------------------------------------------------------------------------------------------")

这是输出:

在此处输入图像描述

它适用于“明尼苏达”,但“哥伦比亚特区”的格式不均匀。

有什么建议么?谢谢。

4

1 回答 1

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))

将 20 替换为将出现的最长字符串。

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

{:20}意味着20空格字符用于字符串,即使它更短(它不会在更长时截断)。{:5.2f}表示5浮点数使用空格,其中2小数点后。

于 2012-10-14T04:04:07.803 回答