2017-06-04 19 views
0
menu_items = [ 
    [1, "Chicken Strips", 3.75], [2, "French Fries", 2.50], 
    [3, "Hamburger", 4.00], [4, "Hot Dog", 3.50], [5, "Large Drink", 1.75], 
    [6, "Medium Drink", 1.50], [7, "Milk Shake", 2.25], [8, "Salad", 4.25], 
    [9, "Small Drink", 1.25] #<------- Order with price 
] 
print("Menu") 
for item in menu_items: 
    print('{} {} '.format(*item)) 

order = input('\n\nPlease enter the numbers of the items you would like: ') 

print("You ordered: ", order) 

for item in order: 
    print(menu_items[int(item)-1]) 

はどのような価格を計算するのですか?合計金額、エントリー後に入力された..際ありがとうどのようにして価格を計算しますか?

+1

は?私は、合計を計算しようとしている、ここで任意のコードが表示されません。 – Carcigenicate

答えて

1

あなたが価格を取得し、項目印刷するときにそれらを一緒に追加することができます。

total = 0 
for item in order: 
    print(menu_items[int(item)-1]) 
    total += menu_items[int(item)-1][2] 
print('Total price: {}'.format(total)) 

をご注文後の全権利を計算したい場合は、このように、リストの内包表記を使用することができます。人々は1,2,3のようなものを入力することができるように

order = input('\n\nPlease enter the numbers of the items you would like: ') 
print("You ordered: ", order) 
total = sum([menu_items[int(x)-1][2] for x in order]) #this line to calculate total 
+0

ネヴァーマインドを、私はちょうどそれがちょうどだろう?項目#11は何がある場合ので、何かで分割は、きれいだと思います注文番号があなたにそれぞれを与える文字列を反復処理するので、例えば、 '123' 1つの文字列として与えられている場合は2通りそれを解析し、1の –

+0

@NoahCristinoは、これは動作します キャラクター。しかし、スペースやカンマなどの項目間にセパレータを置く方が良いと私は同意します。 –

+1

はい分裂は良いことですが、それは尋ねられたことではありませんでした。質問が10未満の項目の助けを –

0

まず、あなたは、入力を分割する必要があります。あなたはin (read in sections under Python Membership Operatorsを使用して,をチェックしてください(splitでこれを行うことができます次に、あなただけの配列の最後の要素を取得し、トータルに追加する必要があります。

menu_items = [ 
    [1, "Chicken Strips", 3.75], [2, "French Fries", 2.50], 
    [3, "Hamburger", 4.00], [4, "Hot Dog", 3.50], [5, "Large Drink", 1.75], 
    [6, "Medium Drink", 1.50], [7, "Milk Shake", 2.25], [8, "Salad", 4.25], 
    [9, "Small Drink", 1.25] #<------- Order with price 
] 
print("Menu") 
for item in menu_items: 
    print('{} {} '.format(*item)) 

order = input('\n\nPlease enter the numbers of the items you would like: ') 
if ',' in order: #checks if , is in order 
    order = order.split(",") #splits by , 
print("You ordered: ", order) 
total = 0 
for item in order: 
    print(menu_items[int(item)-1]) 
    total = total + menu_items[int(item)-1][2] #adds 3rd element (price) to total (arrays are 0-indexed) 
print("The total is $"+str(total)) #outputs total 

をより明確化のためのコード内のコメントを読みますあなたはすでに試みたが何をしています。

+0

[チャット]は、あなたにMoha01何@ – Moha01

+0

に感謝します? –

関連する問題