だから私はこれらの値を持つこのファイルを持っています:
AFG,13,0,0,2
ALG,15,5,2,8
ARG,40,18,24,28
次のように辞書に格納されます。
{'ARG': (40, 18, 24, 28), 'ALG': (15, 5, 2, 8), 'AFG': (13, 0, 0, 2)}
ユーザーがキーを打ち込む関数があり、数字を含むタプルを返す必要があります。
ただし、たとえば AFG と入力すると、次のようになります。
Traceback (most recent call last):
File "C:\Users\username\Dropbox\Programming\Python\Project3.py", line 131, in <module>
main()
File "C:\Users\username\Dropbox\Programming\Python\Project3.py", line 110, in main
findMedals(countryDictionary, MedalDictionary)
File "C:\Users\username\Dropbox\Programming\Python\Project3.py", line 88, in findMedals
answer.append([medalDict[medalCount]])
KeyError: (13, 0, 0, 2)
ご覧のとおり、KeyError は入力されたキーの正しい値を返しますが、なぜそれについて不平を言うのでしょうか? KeyError はキーが存在しなかったことを意味しませんか?
私のコード:
def findMedals(countryDict, medalDict):
search_str = input('What is the country you want information on? ')
for code, medalCount in medalDict.items():
if search_str in code:
answer.append([medalDict[medalCount]])
else:
answer = ['No Match Found']