我正在做這裏找到的第二個練習。 https://automatetheboringstuff.com/chapter5(「List to Dictionary Function for Fantasy Game Inventory」)將列表中的項目添加到Python中的字典中
任務是將列表中的項目添加到字典中。
由於一些奇怪的原因,我的for循環沒有遍歷整個列表。你能幫我理解爲什麼嗎?
def addToInventory(inventory, addedItems):
for i in addedItems:
if i in inventory:
inventory[i] = inventory[i] + 1
else:
inventory[i] = 1
return inventory
inv = {'gold coin': 42, 'rope': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
inv = addToInventory(inv, dragonLoot)
print(inv)
當運行該代碼時,結果是「{‘繩’:1‘金幣’:43}」 所以金幣鍵的值被增加1(不是由3,其它應該),而'匕首'和'紅寶石'被忽略。
我在其他地方找到了一個可行的解決方案,但我真的很想理解爲什麼這段代碼不起作用。
在此先感謝。
'回報inventory'是你'for'循環中!它立即返回 –