试图在python中创建菜单但循环不会退出

这是我的代码:

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
上一篇:php-显示来自多个自定义帖子类型的特定类别的帖子


下一篇:Python:在while循环中返回多个值的优雅方法