TypeError:*:'dict'和'int'

时间:2015-06-06 10:12:36

标签: python dictionary

运行以下代码时,标题中出现错误。

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)

2 个答案:

答案 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。