运行以下代码时,标题中出现错误。
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)
我认为这是因为字典中的值不是整数。如何修复我的代码,以免它给我这个错误。
它应该打印该人将收到的东西的数量,例如,如果有人订购了它将打印的2包:
8.0坚果 600.0螺栓 280.0螺丝 7.0线(m)
答案 0 :(得分:3)
您正在计算total
错误,您需要乘以val
而不是与pack(这是一个字典)相乘。请改用以下内容(total = val * amount
代替total = pack * amount
):
for key,val in pack.items():
total = val * amount
print(total,key)
所以不,原因不是字典中的值不是整数。
答案 1 :(得分:1)
这是因为类型(包)是<class 'dict'>
而类型(金额)是<class 'int'>
。
类'dict'中没有可用于整数类型的乘法运算的方法。
正如mu所提到的,你应该把它乘以val。