前提・実現したいこと
codecademyでdictionaryの課題をやっています。
その内容は、namesと言うdictionaryのなかにラストネームがkeyとして入っていて、ファーストネームがvalueとして入っています。そして同じラストネームの頭文字を持つ人を数えて、それをその頭文字をkey、人数をvalueとして新しいdictionaryのlettersにまとめようとしています。
発生している問題・エラーメッセージ
エラーは出ませんが、出るはずの答えと一致しません。
例えば下のコードだと、本当は{‘S’: 4, ‘L’: 3}.と出したいのですが、
{‘S’: 3, ‘L’: 3},や{‘S’: 1, ‘L’: 3}と出てしまいます。
なぜ予想される答えが出ないのか、また、同じコードなのになぜ答えがふた通り出てしまうのか分かりません。
エラーメッセージ
該当のソースコード
python3
1# Write your count_first_letter function here: 2def count_first_letter(names): 3 letters={} 4 for key,value in names.items(): 5 if key[0] in letters: 6 letters[key[0]]+=len(value) 7 8 9 letters[key[0]]=len(value) 10 11 12 return letters 13 14 15 16# Uncomment these function calls to test your function: 17print(count_first_letter({"Stark": ["Ned", "Robb", "Sansa"], "Snow" : ["Jon"], "Lannister": ["Jaime", "Cersei", "Tywin"]}))
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/06 15:34