我的源代码
def display_inventory(inventory):
print("Itme list")
item_total = 0
for k,v in inventory.items():
print(str(k) + str(v))
item_total = item_total + v.get(k,0)
print("The total number of items:" + str(item_total))
stuff = {'rope':1, 'torch':6, 'coin':42, 'Shuriken':1, 'arrow':12}
display_inventory(stuff)
错误消息
AttributeError: 'int' object has no attribute 'get'
你能告诉我如何修复这个错误吗?如果你能解释一下为什么这不起作用,我将不胜感激
先谢谢你
你为什么不简单地写下以下内容:
因为在这种情况下,值
v
是与要相加的产品对应的数字。不需要使用get()
进一步查找字典,因为您已经拥有了所需的值inventory
)李>get
,因为v = inventory[k]
在循环中李>k
不存在,则不需要使用默认值,因为for k,v in inventory.items()
仅循环现有项李>在您的字典中,
v
是一个整数。字典中的所有内容都是在inventory.items()
中获取的。您正试图从整数中获取某些内容。因此,它显示了一个错误。解决方案是简单地更改为v
以及输出:
相关问题 更多 >
编程相关推荐