当我运行以下代码时,标题中出现错误。
amount = int(input('How many packs do you want?'))
pack = {'nuts':4.0,
'bolts':300.0,
'screws':140.0,
'wire(m)':3.5}
for key,val in pack.items():
total = pack * amount
print(total,key)
Run Code Online (Sandbox Code Playgroud)
我认为这是因为字典中的值不是整数。我如何修复我的代码,以便它不会给我这个错误。
它应该打印该人将收到的物品数量,例如,如果有人订购了 2 包,它将打印:
8.0 螺母 600.0 螺栓 280.0 螺钉 7.0 线(米)
你计算total错了,你需要乘以val而不是包(这是一个字典)。使用以下代替(total = val * amount而不是total = pack * amount):
for key,val in pack.items():
total = val * amount
print(total,key)
Run Code Online (Sandbox Code Playgroud)
所以不,原因不是字典中的值不是整数。