0
以下のコードでキーエラーが発生しました。私は人の名前と年齢の両方を持っているnames.txtというファイルを読んでいます。すべての名前は小文字ですが、辞書を検索しているときにname.lower()関数を実行すると、キーエラーがスローされます。keyerror:辞書python3
fo = open('names.txt' ,'r')
data = fo.readlines()
fo.close()
dicti = {}
for i in data:
new_list = i.split(',')
dicti[new_list[0].lower()] = new_list[1].strip('\n')
name = input ('enter the name to be searched: ')
if name.lower() in dicti.keys():
print (dicti[name])
elif name == 'exit':
quit()
else:
print ('name ' + name.title() + ' not found')
ファイルnames.txtデータは次のとおりです。
Sophia,35
Emma,28
Olivia,16
Isabella,10
Ava,9
Mia,26
Emily,4
Abigail,33
誰かがエラーについて教えてくださいすることができます。このため
キーが辞書にあるかどうかをチェックするために 'name.lower()'を使用しました。実際には辞書から値を取得するときに 'name'自体を使用しました。これは、すべてが小文字で入力されていなければ失敗するでしょう。 – jasonharper