はじめに
「退屈なことはPythonにやらせよう」をやって見て演習プロジェクトの答えがなかったため、自分なりに考えた答えを公開してみようと思います。
フィードバックがいただけたり、すこしでも他の学習者の手助けになれば幸いです。
以下の内容を見てわからない方は書籍の購入をお勧めします!
とてもわかりやすく参考になる書籍だと思います。
ファンタジーゲームの持ち物リスト
問題
{'ロープ': 1, 'たいまつ': 6, '金貨': 42, '手裏剣': 1, '矢': 12}のような辞書を引数として受け取って次のように表示する関数display_invetory(invetory)を書く
持ち物リスト:
1 ロープ
6 たいまつ
42 金貨
1 手裏剣
12 矢
アイテム総数: 62
回答
def display_invetory(invetory):
print('持ち物リスト:')
total_items = 0
for k, v in invetory.items():
print(str(v) + ' ' + k)
total_items += v
print('アイテム総数: ' + str(total_items))
stuff = {'ロープ': 1, 'たいまつ': 6, '金貨': 42, '手裏剣': 1, '矢': 12}
display_invetory(stuff)
持ち物リストにアイテムを追加する
問題
dragon_loot = ['金貨', '手裏剣', '金貨', '金貨', 'ルピー']
以上のようなリストを受け取り持ち物リストにアイテムを追加するadd_to_invetory(invetory, added_items)を書く
回答
def add_to_invetory(invetory, added_items):
for i in added_items:
invetory.setdefault(i, 0)
invetory[i] += 1
return invetory
inv = {'金貨': 42, 'ロープ': 1}
dragon_loot = ['金貨', '手裏剣', '金貨', '金貨', 'ルピー']
inv = add_to_invetory(inv, dragon_loot)
display_invetory(inv)