# =====================================================================
# КОД СТУДЕНТА А (Работа со стеком отмены действий)
# =====================================================================
def push_action(stack, action):
"""Добавление действия в конец стека."""
stack.append(action)
def undo_action(stack):
"""Удаление и возврат последнего действия. Если стек пуст — возврат None."""
if not stack:
return None
return stack.pop()
def get_history(stack):
"""Возврат независимой копии стека действий."""
return stack.copy()
# =====================================================================
# КОД СТУДЕНТА Б (Работа с очередью заказов)
# =====================================================================
def add_order(queue, order):
"""Добавление нового заказа в конец очереди."""
queue.append(order)
def process_order(queue):
"""Извлечение и обработка первого заказа (FIFO). Если очередь пуста — возврат None."""
if not queue:
return None
return queue.popleft()
def peek_order(queue):
"""Просмотр первого заказа в очереди без его удаления. Если очередь пуста — возврат None."""
if not queue:
return None
return queue[0]