У меня есть два словаря, один представляет собой инвентарь игрока, а другой представляет собой инвентарь дракона. Я пытаюсь взять два словаря и объединить их. Затем отобразите эти два словаря в качестве нового инвентаря игрока. Я добавил свой код ниже, и я продолжаю получать следующую ошибку.Объект nonetype не имеет атрибутов 'items' при прохождении через словарь
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)
Выход Im пытается произвести следующим образом. Inventory:
45 золотая монета
1 веревка
1 рубин
1 Кинжал
Всего товаров: 48
Работает отлично! Благодаря! – DakotaDickey44