【发布时间】:2016-03-19 19:02:12
【问题描述】:
我有两个字典,一个代表玩家物品栏,另一个代表龙物品栏。我正在尝试将这两个字典结合起来。然后将这两个字典显示为玩家的新库存。我在下面添加了我的代码,但我不断收到以下错误。
Traceback (most recent call last):
File "/Users/DakotaDickey/Documents/Python Projects /Examples/FantasyGameAddToInventory.py", line 38, in <module>
displayInventory(inv)
File "/Users/DakotaDickey/Documents/Python Projects /Examples/FantasyGameAddToInventory.py", line 27, in displayInventory
for k, v in inventory.items():
AttributeError: 'NoneType' object has no attribute 'items'
我的代码:
#FantasyGameAddToInventory
def addToInventory(inventory, addedItems):
addedItemsdict = {}
for item in addedItems:
x = addedItems.count(item)
if item not in addedItemsdict:
addedItemsdict[item] = 1
else:
addedItemsdict[item] = x
for k, v in addedItemsdict.items():
if k in inventory:
x = inventory[k]
inventory[k] = v + x
else:
inventory[k] = v
inv = inventory
print(inv)
def displayInventory(inventory):
print('Inventory:')
item_total = 0
for k, v in inventory.items():
print(k,v)
item_total = item_total + v
print("Total number of items: " + str(item_total))
inv = {'gold coin' : 42 , 'rope': 1}
dragonLoot = ['gold coin', 'dagger' , 'gold coin', 'gold coin', 'ruby']
inv = addToInventory(inv, dragonLoot)
displayInventory(inv)
我试图产生的输出如下。 库存:
45金币
1 根绳子
1颗红宝石
1 把匕首
项目总数:48
【问题讨论】:
标签: python python-3.x dictionary