python:将输入乘以dict中的数字

时间:2016-10-27 14:33:29

标签: python dictionary input

我试图通过预制字典中的另一部分代码来复用用户给定的数字。这是我的示例代码

randomdict = {'22' : {'name' : 'sponge', 'price' : 1}}
choice = input("Enter a number: ")
amount = input("How much of that item?: ")
if choice in randomdict:
    price  = amount * (randomdict['price'])
    print("Price is "+str(price))

正如您所看到的,我试图获取用户输入的金额,乘以保存在dict randomdict中的项目的价格。我该怎么做呢?我一次又一次地尝试但是无法弄清楚

3 个答案:

答案 0 :(得分:2)

randomdict['price']不存在。你想要randomdict[choice]['price']

此外,如果您想计算价格,则希望amount为整数。

price  = int(amount) * randomdict[choice]['price']

作为旁注:price可能不是此值的最大名称。该值实际上是total(价格x数量)而不是price。明确地写出来:

quantity = int(amount)
price = randomdict[choice]['price']
total = price * quantity

答案 1 :(得分:0)

第一行的'22'是什么?你在字典里面有一本字典,价格在内部字典里面。 您的输入必须为'22',因此您可以选择randomdict[choice],并且您必须查看的字典为randomdict[choice]['price']。要获得所需的价格if choice in randomdict: price = amount * (randomdict[choice]['price']) print("Price is "+str(price))

{{1}}

希望这会有所帮助

答案 2 :(得分:0)

我会使用两步程序。     如果在randomdict中选择:       Z = randomdict [选择]       P = Z [ '价格']       价格= INT(量)* P