Я пытаюсь запрограммировать «роботизированную» программу официанта, но, похоже, не могу найти, где я ошибся

#python #python-3.x

#python #python-3.x

Вопрос:

В моей программе есть ошибки и ошибки, которые мне нужно исправить. Речь идет о «роботе», который является официантом в ресторане. Я все еще новичок.

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

 import sys, time
total = 0
menu = ["0 - Swedish Meatballs - 5$", "1 - Japanese Sushi - 7$", "2 - Indian Rice - 9$", "3 - Quit"]
price = [5,7,9,0]
print("Hello welcome to the restaurant! I am your robotic waiter")
action = int(input("What would you like to do? n 1. Look at the menu n 2. Order n 3. Take more time n 4. Ask for the total n 5. Exit n Please enter a number here: "))
while action != 5:
        if action == 1:
                print(menu)
                action = int(input("What would you like to do? n 1. Look at the menu n 2. Order n 3. Take more time n 4. Ask for the total n 5. Exit n Please enter a number here: "))
        elif action == 2:
                print(menu)
                food = int(input("What would you like? "))
                while food != 3:
                        priceoffood = price[food]
                        total = total   priceoffood
                        if food != 3:
                                more = input("More things? Reply with y or n: ")
                                if more == "y":
                                        print(menu)
                                        food = int(input("What would you like? "))
                                        if priceoffood != 3:
                                                print(food)
                                                print(price[food])
                                                priceoffood = price[food]
                                                total = total   priceoffood
                        else:
                                break
        elif action == 3:
                time = int(input("How many minutes more do you need?  "))
                while int(time) > 30:
                        print ("Isn't that too long? ")
                        time = input("How many minutes more do you need?  ")
                print("Okay, ill be back when your "   str(time)   " minutes are over!")
                time.sleep(time*60)
        elif action == 4:
                print("Your total is: "   str(total))
quit()
  

Я бы хотел, чтобы функции меню работали так же, как и ожидалось.

Комментарии:

1. Другие, читающие ваш пост, не могут волшебным образом узнать, что должна выводить ваша программа. Пожалуйста, укажите любые ошибки в вашем сообщении и определите конкретные проблемы в программе.

2. Моя проблема начинается со строки 11 до строки 18. Я хотел бы, чтобы моя программа здесь спрашивала пользователя, что бы он хотел из меню, узнавала цену этой еды, спрашивала их снова, хотят ли они еще еды, а затем вычисляла общую сумму счета. В основном это так.

3. Пожалуйста, не меняйте свой код после того, как задали свой вопрос, особенно если вы попытаетесь исправить его в соответствии с комментариями / ответами, которые вы получили: это делает ответы неактуальными для сообщения.

Ответ №1:

Вы импортировали time , но также использовали его в качестве переменной. Измените свою переменную на что-то другое, кроме time. Например:

 timer = int(input("How many minutes more do you need?  "))
while int(timer) > 30:
    print ("Isn't that too long? ")
    timer = input("How many minutes more do you need?  ")
print("Okay, ill be back when your "   str(timer)   " minutes are over!")
time.sleep(timer*60)