Найдите, пожалуйста, ошибку в коде задачи:

Очередь с защитой от ошибок Реализуйте структуру данных "очередь". Напишите программу, содержащую описание очереди и моделирующую работу очереди, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:

push n — добавить в очередь число n (значение n задаётся после команды). Программа должна вывести ok; pop — удалить из очереди первый элемент. Программа должна вывести его значение; front — программа должна вывести значение первого элемента, не удаляя его из очереди; size — программа должна вывести количество элементов в очереди; clear — программа должна очистить очередь и вывести ok; exit — программа должна вывести bye и завершить работу. Перед исполнением операций front и pop программа должна проверять, содержится ли в очереди хотя бы один элемент. Если во входных данных встречается операция front или pop и при этом очередь пуста, то программа должна вместо числового значения вывести строку error.

Входные данные

Вводятся команды управления очередью, по одной команде в строке. Среди них обязательно присутствует команда exit.

Выходные данные

Требуется вывести протокол работы очереди, по одному сообщению в строке.

Примеры Ввод

push 1 front exit

Вывод ok 1 bye

Ввод size push 1 size push 2 size push 3 size exit

Вывод 0 ok 1 ok 2 ok 3 bye


l = 0
h = 0
q = []
res = []
stack = []
while True:
    command, *args = input().split()
    if command == "size":
        res.append(len(stack))
        
    elif command == "front":
        if len(stack) == 0:
            res.append('1')
        else:
            res.append(stack[-1])
    
    elif command == "pop":
        if len(stack) == 0:
            res.append('error')
        else:
            res.append(stack.pop())
    elif command == "clear":
        stack.clear()
        res.append("ok")
    elif command == "push":
        stack.append(int(args[0]))
        res.append("ok")
    elif command == "exit":
        res.append("bye")
        break
print(*res,sep='\n')

Ответы (0 шт):