Как разорвать циклическое меню на Python - PullRequest
0 голосов
/ 26 мая 2020

У меня небольшая проблема с изготовлением витрины для фастфуда, проблемы с поддержанием порядка. Я не знаю, как использовать True и False в pyhton .. Я выбираю три еды, как новичок. Это закончилось неудачей ... Итак, я попытался использовать 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)

Ответы [ 2 ]

0 голосов
/ 03 июня 2020

Вам необходимо сохранить для переменной другую переменную True, когда происходит упорядочивание, а затем при каждом возможном перерыве или каждом возможном варианте завершения заказа вы должны сделать переменную False.

Пример

     ordering = True
     while ordering:
         .
         .
         ordering = False
         print("THANK YOU, PLEASE COME AGAIN")
         import time
         time.sleep(5)
0 голосов
/ 31 мая 2020

поместите разрыв после оператора, после которого вы хотите остановить свой l oop, например,

if choice == 1:
        amount = int(input("ENTER THE AMOUNT: "))
        hcount += amount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...