这是我的代码:
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")
当我输入六个我的循环不退出并打印总计时,怎么会这样?我也是初学者,这是一门高中课程
解决方法:
在编写代码时,存在一些问题.
>菜单需要输入而不是项目进行检查(例如,如果item ==,则应该为menu ==)
> item ==“ one”需要更改为菜单== 1(其余比较相同),除非您希望用户键入“ one”而不是按1
> break必须在最终打印语句后移至该行,因为它在您可以打印任何内容之前就已中断.
Nitpick:print(“您的总计是”,“ item”,“ dollars”)打印一个元组,看起来不太好.打印“您的总数是$” 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