5.6.1 好玩游戏的物品清单
你在创建一个好玩的视频游戏。用于对玩家物品清单建模的数据结构是一个字典。其中键是字符串,描述清单中的物品,值是一个整型值,说明玩家有多少该物品。例如,字典值{'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}意味着玩家有 1 条绳索、6 个火把、42 枚金币等。
点击查看代码
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: ' + str(item_total))
displayInventory(stuff)
5.6.2 列表到字典的函数,针对好玩游戏物品清单
假设征服一条龙的战利品表示为这样的字符串列表:
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
写一个名为 addToInventory(inventory, addedItems)的函数,其中 inventory 参数是一个字典,表示玩家的物品清单(
像前面项目一样),addedItems 参数是一个列表,就像 dragonLoot。
点击查看代码
def addToinventory(inventory, addedItems):
for i in addedItems:
if i in inventory:
inventory[i] += 1
else:
inventory.setdefault(i,1)
return inventory
inv = {'gold coin': 42, 'rops': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
# inv = addToinventory(inv,dragonLoot)
print(addToinventory(inv,dragonLoot))
5.6.3 和前面的函数displayInventory() 同时使用
点击查看代码
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: ' + str(item_total))
def addToinventory(inventory, addedItems):
for i in addedItems:
if i in inventory:
inventory[i] += 1
else:
inventory.setdefault(i,1)
return inventory
inv = {'gold coin': 42, 'rops': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
inv = addToinventory(inv,dragonLoot)
displayInventory(inv)