Inventory:
12 arrow
42 gold coin
1 rope
6 torch
1 dagger
Total number of items: 62
可以使用 for
循环,遍历字典中所有的键。
inventory.py
stuff = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow':12}
def displayInventory(inventory):
print("Inventory:")
item_total=0
for k, v in inventory.items():
print(str(v)+' '+ k)
item_total += v
print("Total number of items :" ,item_total)
displayInventory(stuff)
Inventory: 1 rope Total number of items : 1 6 torch Total number of items : 7 42 gold coin Total number of items : 49 1 dagger Total number of items : 50 12 arrow Total number of items : 62
dragonLoot=['gold coin','dagger','gold coin','gold coin','ruby']
写一个名为 addToInventory(inventory, addedltems)
的函数,
其中 inventory
参数是一个字典,表示玩家的物品清单(像前面项目一样),
addedltems
参数是一个列表,
就像 dragonLoot
。
addToInventory()
函数应该返回一个字典,
表示更新过的物品清单。请注意,列表可以包含多个同样的项。
代码看起来可能像这样:
def displayInventory(inventory):
print('Inventory:')
good_sum=0
for k,v in inventory.items():
print(str(v)+' '+k)
good_sum=good_sum+v
print('Total number of items:'+str(good_sum))
def addToInventory(inventory,addedItems):
# your code goes here
for i in addedItems:
inventory.setdefault(i,0)
inventory[i]=inventory[i]+1
return inventory
inv={'gold coin':42,'rope':1}
dragonLoot=['gold coin','dagger','gold coin','gold coin','ruby']
inv=addToInventory(inv,dragonLoot)
displayInventory(inv)
Inventory: 45 gold coin 1 rope 1 dagger 1 ruby Total number of items:48
前面的程序(加上前一个项目中的 displayInventory()
函数)
将输出如下:
Inventory:
45 gold coin
1 rope
1 dagger
1 ruby
Total number of items:48