类型错误:* 不支持的操作数类型:'dict' 和 'int'

jam*_*hes 1 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)
Run Code Online (Sandbox Code Playgroud)

我认为这是因为字典中的值不是整数。我如何修复我的代码,以便它不会给我这个错误。

它应该打印该人将收到的物品数量,例如,如果有人订购了 2 包,它将打印:

8.0 螺母 600.0 螺栓 280.0 螺钉 7.0 线(米)

mu *_*u 無 5

你计算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)

所以不,原因不是字典中的值不是整数。