[我正在尝试编写一个简单的程序,该程序使用{item:integer}的字典(清单),然后求和所有键的整数值。
当前,这是我所拥有的,它不起作用:
inventory = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 125, 'bow': 1}
def displayInventory(inventory):
print('Welcome to your pack. Currently you have:\n')
total_items = 0
for k,v in inventory.items():
total_items = total_items + v.get(v, 0)
return total_items
print(total_items)
这是我得到的错误:
追踪(最近通话):文件“ C:\ Users \ Kyle \ Documents \ displayInventory.py”,第16行displayInventory(库存)displayInventory中的文件“ C:\ Users \ Kyle \ Documents \ displayInventory.py”,第7行total_items = total_items + v.get(v,0)AttributeError:“ int”对象没有属性“ get”
我正在寻找可以帮助我了解我所缺少的内容,而不仅仅是提供正确的代码来实现这一目标,因为如果我不了解正在发生的事情,我将无法学习。
非常感谢任何见识/指导。
提前感谢。
在您的for循环中,您已经在破坏每一对,“ k, v
”代表键和值。因此,您会收到该错误,因为您正试图从价值中获取价值。
只需将for循环的主体更改为total_items += v
,就应该得到想要的东西。