这是我的代码:
item=0
while True:
menu=input (""" ----- Heart Attacks On A Bun ----------
1. The Big MOO Combo . . . . 5.99
2. Big MOO . . . . . . . . . 3.99
3. Spring Surprise . . . . . 1.99
4. Fries . . . . . . . . . . 1.29
5. Pop . . . . . . . . . . . 1.19
6. Exit
________________________________________
What would you like? one for combo, two for Big MOO etc.
""")
if item=="one":
item+=5.99
elif item=="two":
item+=3.99
elif item=="three":
item+=1.99
elif item=="Four":
item+=1.29
elif item=="Five":
item+=1.19
elif item=="six":
break
print ("Your total is", item,"dollars")
当我输入六个循环时,为什么不退出并打印总数?我也是初学者,这是一个高中课程
答案 0 :(得分:2)
编写代码时有几个问题。
menu
需要检查输入,而不是项目(e.i。if item==
应为if menu==
)item=="one"
需要更改为menu == 1
(其他比较相同),除非您希望用户输入“一个”而不是按1 break
需要在最终打印声明后移动到该行,因为它在您打印任何内容之前就已经打破了。 Nitpick :print ("Your total is", item,"dollars")
打印一个元组,看起来不太好。 print "Your total is $" + str(item)
看起来更专业。
修正:
item=0
while True:
menu = int(input (""" ----- Heart Attacks On A Bun ----------
1. The Big MOO Combo . . . . 5.99
2. Big MOO . . . . . . . . . 3.99
3. Spring Surprise . . . . . 1.99
4. Fries . . . . . . . . . . 1.29
5. Pop . . . . . . . . . . . 1.19
6. Exit
________________________________________
What would you like? one for combo, two for Big MOO etc.
"""))
if menu == 1:
item+=5.99
elif menu == 2:
item+=3.99
elif menu == 3:
item+=1.99
elif menu == 4:
item+=1.29
elif menu == 5:
item+=1.19
elif menu == 6:
print("Your total is $" + str(item))
break
答案 1 :(得分:1)
item=0
while True:
menu =input(""" ----- Heart Attacks On A Bun ----------
1. The Big MOO Combo . . . . 5.99
2. Big MOO . . . . . . . . . 3.99
3. Spring Surprise . . . . . 1.99
4. Fries . . . . . . . . . . 1.29
5. Pop . . . . . . . . . . . 1.19
6. Exit
________________________________________
What would you like? one for combo, two for Big MOO etc.
""")
if menu == str(1):
item+=(5.99)
elif menu == str(2):
item+=3.99
elif menu == str(3):
item+=1.99
elif menu == str(4):
item+=1.29
elif menu == str(5):
item+=1.19
elif menu == str(6):
print ("Your total is", item,"dollars")
break
输入可以更改为str
,break
命令位于print
命令之前。
或者可以像大卫在我面前解释的那样(我实际上更喜欢他的方式,因为它需要int
输入,而不是我转换为str
。)