2016-10-27 3 views
0

私は与えられた数字を複数倍にしようとしています。ここに私のコード例python:dict内の数字で入力を掛けよう

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)) 

あなたは、私が辞書randomdictに保存されているアイテムの価格を乗じたユーザーが入力した金額を、取得しようとしている見ることができるようです。これはどうすればいいですか?私は何度も試してみましたが、理解できません。

+0

選択および量は文字列です。最初に数値として解析する必要があります。 – Carcigenicate

+0

もし私がそれをしたら、 'price = amount *(randomdict ['price'])'という行は正しいでしょうか? – Joshhh

+0

数式内の数字がすべて数字になったら、それはうまくいくはずです。 – Carcigenicate

答えて

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 
0

何のためには、1行目で'22'のですか?あなたは辞書の中に辞書を持っており、価格は内部の辞書の中にあります。 あなたの入力は'22'である必要があります。したがって、'22'を選択し、表示する必要があるのはrandomdict[choice]です。あなたはrandomdict[choice]['price']

if choice in randomdict: 
    price = amount * (randomdict[choice]['price']) 
    print("Price is "+str(price)) 

希望を必要とする価格を取得するには、この

0

は、私は2段階の手順を使用しますことができます。 かの選択肢randomdict中: のz = randomdict [選択] P = Z [ '価格'] 価格= INT(量)* P

関連する問題