Я пытаюсь добиться этого вывода, но у меня есть ошибки. Я запускаю свои коды, но получил ошибки. Я пытаюсь сделать это:
Позвонить следующему клиенту.
- Показать, что в очереди ожидания нет клиентов, если очередь ожидания пуста
- В противном случае отобразить номер очереди клиента в очереди ожидания
- Если клиент отвечает на вызов, он удаляется из очереди ожидания и помещается в другую очередь «обслуживаемых клиентов», чтобы указать, что клиент получил свою еду
- Показать сообщение, указывающее, что клиент обслуживается
Ожидаемый результат:
Пожалуйста, выберите: 1
Могу ли я иметь ваше имя: Fad
Ошибки, которые я получаю при запуске:
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
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, que_num):
name = input("May I have your name ")
queue.append[que_num, 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...")