我在python中遇到了字典比较方面的问题。我有两个字典,我想比较它们,当键相同时,值升级到
valueFromFirstDictionary + valueFromSecondDictionary
.
函数“addToInventory()”应该有45个硬币而不是3个,但问题出在哪里?在循环中,它打印45个,但当我打印所有字典时,它显示3个。
功能有问题:
def addToInventory(inventory, addedItems):
dictionaryHelp = {}
for i in addedItems:
dictionaryHelp.setdefault(i,0)
dictionaryHelp[i] = dictionaryHelp[i] + 1
for i, k in inventory.copy().items():
for j, l in dictionaryHelp.items():
#print(i, k, j, l)
if i == j:
suma = k + l
inventory.update({i:suma})
#inventory[i] = suma
print(inventory[i])
break
else:
inventory[j] = l
print(inventory)
return(inventory)
inv = {'golden coin': 42, 'rope': 1}
dragonLoot = ['golden coin', 'dagger','golden coin', 'golden coin', 'ruby']
inv = addToInventory(inv, dragonLoot)
for k, v in inv.items():
print(str(k) + ': ' + str(v))
item_total = item_total + v