LoginSignup
1
4

More than 5 years have passed since last update.

[初心者] [メモ] 「退屈なことはPythonにやらせよう」をやってみたメモ 5章演習プロジェクト

Last updated at Posted at 2018-08-25

はじめに

「退屈なことは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)
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4