【问题标题】:Need Help on String Formatting需要有关字符串格式的帮助
【发布时间】:2012-10-14 03:39:50
【问题描述】:

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

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

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

这是我所拥有的:

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

这是输出:

它适用于“Minnesota”,但对于“District of Columbia”,它的格式不均匀。

有什么建议吗?谢谢。

【问题讨论】:

标签: python string file


【解决方案1】:

使用此处描述的字符串格式: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 在小数点后。

【讨论】:

  • 那么 :20 是我假设的字符间距吗? .2f 有什么作用?
  • :20 到底是做什么的?不让字符串超过 20 个字符?
猜你喜欢
  • 1970-01-01
  • 2018-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多