2

特定の州の最小死亡率と最大死亡率を見つける CSV ファイルを受け取るこのプログラムを Python 3 で作成しました。

私は基本的にプログラムを完成させ、シェルで正しく出力しますが、問題があります:

  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}ことを意味します。52

于 2012-10-14T04:04:07.803 に答える