python2018のブログ

python プログラミング 独習 退屈なことはpythonにやらせよう 初心者

退屈なことはpythonにやらせよう 演習 第5章 5.6.2

第5章、2問目です

いろいろ調べて、以下で入力

def display_inventory(inventory):

    print ('持ち物リスト:')

    item_total = 0

    for k, v in inventory.items():

        print (str(inventory[k]) + ' ' + k)

        item_total += v

    print ('総アイテム数: ' + str(item_total))

 

def add_to_inventory(inventory,added_item):

    for i in added_item:

        inventory.setdefault(i,0)

        inventory[i] += 1

        return inventory

inv = {'金貨':42,'ロープ':1}

 

dragon_loot = ['金貨','手裏剣','金貨','金貨','ルビー']

inv = add_to_inventory(inv,dragon_loot)

display_inventory(inv)

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

プログラムは動きました。ところが。

RESTART:  プログラム/5-6-2-3.py

持ち物リスト:

43 金貨

1 ロープ

総アイテム数: 44

>>> 

うーん。dragon.lootが反映されていません

なぜ???