【问题标题】:How do I break a looping menu on Python如何打破 Python 上的循环菜单
【发布时间】:2020-09-13 07:38:43
【问题描述】:

我在为快餐制作 ecounter 时遇到了一点问题,问题在于继续订购。 我不知道如何在 python 中使用 True 和 False .. 我选择三种食物作为初学者。结果就失败了。。 所以我尝试通过复制其他人的代码来使用 True。 一开始代码是成功的,但是当我在代码中更改了一个小东西时,它出错了,我不知道如何修复它。

到目前为止,这是我的代码:

hcount = 0
scount = 0
fcount = 0
y = True
n = False
cstm= input("Please enter your name: ")
print("                                       ")
print("                                       ")
print("Hi MR/MS " + cstm)
print("WELCOME TO MACDUNNO ECOUNTER")

print("CHOOSE YOUR FOOD")

while True:

    print("  ")
    print('MENU MAC DUNNO')
    print("1. HAMBURGER = $1.50")
    print("2. SODA      = $1.15")
    print("3. FRIES   = $1.25")

    choice = int(input('ENTER NUMBER 1-3: '))

    if choice == 1:
        amount = int(input("ENTER THE AMOUNT: "))
        hcount += amount
    elif choice == 2:
        amount = int(input("ENTER THE AMOUNT: "))
        scount += amount
    elif choice == 3:
        amount = int(input("ENTER THE AMOUNT: "))
        fcount += amount
        
        
    countinue = input("ARE YOU STILL WANT TO ORDER? (y/n)")
    if countinue == n:
        sub = (hcount * 1.50) + (scount * 1.15) + (fcount * 1.25)
        tax = sub * 0.09
        total = sub + tax
        print("                                           ")
        print("                                           ")
        print("************")
        print("PAYMENT")
        print("************")
        print('TOTAL HAMBURGER: {0}'.format(hcount))
        print('TOTAL SODA: {0}'.format(scount))
        print('TOTAL FRIES: {0}'.format(fcount))
        print(" ")
        print('SUBTOTAL: {:0.2f}'.format(sub))
        print('TAX : {:0.2f}'.format(tax))
        print("   ")
        print("__________________________________")
        print('TOTAL: {:0.2f}'.format(total))
        print("   ")
        pay =int(input("INSERT PAYMENT:"))

        if pay > total :
            exchange = pay - total
            print(' ')
            print(' ')
            print('EXCHANGE : {:0.2f}'.format(exchange))
            print("THANK YOU, PLEASE COME AGAIN")
            import time
            time.sleep(5)
                        
        else:
            print(' ')
            print(' ')
            print("INSUFFICIENT AMOUNT")
            print("PLEASE INSERT THE RIGHT AMOUNT")
            scpay = int(input("INSERT PAYMENT : "))
        if scpay > total :
            exchange = scpay - total
            print(' ')
            print(' ')
            print('EXCHANGE     : {:0.2f}'.format(exchange))
            print("THANK YOU, PLEASE COME AGAIN")
            import time
            time.sleep(5)
                        
        else:
            print("  ")
            print("ORDER TERMINATED")
            import time
            time.sleep(5)

【问题讨论】:

    标签: menu


    【解决方案1】:

    在要停止循环的语句之后放置 break 例如。

    if choice == 1:
            amount = int(input("ENTER THE AMOUNT: "))
            hcount += amount
    

    【讨论】:

      【解决方案2】:

      您需要在排序发生时将另一个变量保留为 True,然后在每个可能的中断或结束订单的每个可能选项时,您必须使变量为 False。

      例子

           ordering = True
           while ordering:
               .
               .
               ordering = False
               print("THANK YOU, PLEASE COME AGAIN")
               import time
               time.sleep(5)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-16
        • 2020-03-28
        • 1970-01-01
        • 1970-01-01
        • 2022-11-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多