私は人間開発の「非常に高い」「高い」「中」「低い」と分類される国を表示するプログラムを作成しました。次のように国に分類されます。テーブルの表示コードに間違った列が表示されています
- "非常に高い"、0.75 < HDIは
- 、......... "ハイ" 0.51 < HDI < 0.75
- "中" 得点します。 ..、0.26 < HDI < 0.5
- "ロー" ...........、............ HDI < 0.26
もたらすはずです次のようになります。
このコードでCountry HDI score
Japan 0.903
Finland 0.895
Qatar 0.856
Lebanon 0.763
Armenia 0.743
Iraq 0.649
Pakistan 0.550
Djibouti 0.473
Cameroon 0.518
私が書いた:
Country= ["Japan","Finland","Qatar","Lebanon","Armenia","Iraq","Pakistan",
"Djibouti","Cameroon"]
Country[0]=0.903
Country[1]=0.895
Country[2]=0.856
Country[3]=0.763
Country[4]=0.743
Country[5]=0.649
Country[6]=0.550
Country[7]=0.473
Country[8]=0.518
for Country in Country:
if Country>0.76:
print [Country, "Very High"]
elif 0.76>Country>0.51:
print [Country,"High"]
elif 0.51>Country>0.26:
print [Country,"Medium"]
elif Country < 0.26:
print [Country,"Low"]
をしかし、そのコードの問題は、以下のように、それはHDIのランクではなく、国の名前とランクを表示する、ということである:
[0.903, 'Very High']
[0.895, 'Very High']
[0.856, 'Very High']
[0.763, 'Very High']
[0.743, 'High']
[0.649, 'High']
[0.55, 'High']
[0.473, 'Medium']
[0.518, 'High']
私はここで紛失しているのですが、その国の名前を最初のものとして紹介しましたが、なぜそれがそれに相当する国の名前ではなくHDIを印刷していますか?
'Country'は、あなたが最初に国の名前を入れたリストですが、その後、あなたはHDIと、リスト内の各項目を上書きします。 – birryree
特異なフラット配列ではなく、ネスト構造を定義する必要があります。 – tadman
あなたは国をリストとして定義しました: 'Country = [" Japan "、" Finland "...]'辞書が欲しいと思ったら、国:{"Japan":0.903、 "Finland":0.895、。 ..} ' – alfasin