import os # Lib para usar função clear screen
pedidos_lst = [] # Lista de pedidos
state = 'a' # Status
os.system('cls') # limpa
while True:
# Exibe a lista de pedidos
print(f'Pedidos finais: {pedidos_lst}')
match state: # Entra na máquina de estados
case 'a': # Estado inicial. Permite a entrada de pedidos
pedidos_lst = input('\n======================================\nPedidos feitos (separados por vírgula): ').split(',')
os.system('cls') # limpa
state = 'b' # Após a entrada dos pedidos, muda para o estado de apagar itens
continue
case 'b': # Estado que permite ao usuário deletar itens um a um,
# na ordem do fim para o início da lista.
state = input('\nDigite "D" para deletar um item, ou "F" para finalizar:\n-> ').lower()
# Validação
if state != 'd' and state != 'f':
input('Opção inválida! Tecle "ENTER" para retornar: ')
state = 'b'
os.system('cls') # limpa
continue
case 'd': # Estado para deletar item
if pedidos_lst: # Só permite deletar item se a lista não estiver vazia
pedidos_lst.pop() # Deleta último item presente na lista
if pedidos_lst: # Verifica se a lista ainda contém item após o último pop()
state = 'b' # Se contém item, retorna ao estado de deletar
else:
state = 'a' # Se a lista foi esvaziada, retorna ao estado inicial
os.system('cls') # limpa
continue
case 'f': # Estado para encerrar o programa
os.system('cls') # limpa
print(f'Pedidos finais: {pedidos_lst}')
break
case _: # Default
state = 'a'
continue