fadxo20 Ответов: 1

Попытка достичь этого результата


Я несколько завершил первый и второй шаги

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

Вызов следующего клиента
1. покажите, что в очереди ожидания нет клиента, если очередь ожидания пуста
2. в противном случае отобразите номер очереди клиента в очереди ожидания
3. если клиент отвечает на вызов, он удаляется из очереди ожидания и помещается в другую очередь "обслуживаемый клиент", чтобы указать, что клиент получил свою еду
4. выведите на экран сообщение о том, что клиент обслуживается





Однако я застрял в первой части, где он требует от пользователей ввода входных данных и понятия не имеет, где я ошибаюсь (утверждает, что ошибка находится в "while choice != 0"


я хотел бы получить этот пример вывода:
Menu
1.Register a customer
2. Call next customer
3. List customers in queue
4. Exit
Please choose : 1 # below is what will happen it user chooses menu option 1
May i have your name: Fad (enter input. fad as an example)


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

ошибки:
TypeError                                 Traceback (most recent call last)
<ipython-input-16-85165eb1f15c> in <module>
     44     choice = int(input("Please choose:"))
     45     if choice == 1:
---> 46         register(wait_que, que_num)
     47         que_num += 1 # queue number will be incremented by 1. so if 100, then after that is 101
     48     elif choice == 2:

<ipython-input-16-85165eb1f15c> in register(queue, qnum)
     15 def register(queue, qnum):
     16     name = input("May i have your name ")
---> 17     queue.append[qnum, name, 0]
     18 
     19     pass

TypeError: 'builtin_function_or_method' object is not subscriptable


Что я уже пробовал:

import random # import collection from lab
from collections import deque
from time import sleep

print("Menu")
print("1. Register a customer")
print("2. Call next customer")
print("3. List customers in queue")
print("4. Exit")


def menu():
    pass

def register(queue, qnum):
    name = input("May i have your name ")
    queue.append[qnum, name, 0]
    
    pass
    
    
def call_next():
    if queue.empty:
        print("No customer in waiting queue")
    else:
        return 0
    
    
    
    pass


def list_cust():
    pass


wait_que = deque([]) # assign nothing to it
que_num = random.randint(1,5)*100
choice = ''


while choice != 0:
    menu() # print menu
    choice = int(input("Please choose:"))
    if choice == 1:
        register(wait_que, que_num)
        que_num += 1 # queue number will be incremented by 1. so if 100, then after that is 101
    elif choice == 2:
        call_next()
    elif choice == 3:
        list_cust()
    elif choice == 0:
        print("End of program")
        
    else:
        print("Invalid option...")

1 Ответов

Рейтинг:
1

OriginalGriff

Ты забыл про двоеточие.
Попробуй:

while choice != 0:


phil.o

Часто такие мелочи причиняют столько боли. Лего, например. И двоеточия в python.

OriginalGriff

И вкладки - не забывайте, что python может делать с вкладками ... :смеяться: