Salve devs! Eu estava enfrentando o mesmo problema já relatado por outros alunos aqui no fórum e nenhuma das soluções funcionou comigo. Ao selecionar a opção 2 o programa printava "Listando Restaurantes" e depois executava a função "opcao_invalida()". Consegui solucionar trocando o if da função "opcao_escolhida" por um match, vou deixar aqui o código bugado e o corrigido. Espero ter ajudado, eu já estava com sangue nos olhos por não conseguir resolver e xingando o ChatGPT por ele dizer que o código estava correto ksksksk. Abraço! Código Bugado
def listar_restaurantes():
os.system('clear')
print('Listando Restaurantes.\n')
for restaurante in restaurantes:
nome_restaurante = restaurante['nome']
categoria = restaurante['categoria']
ativo = restaurante['ativo']
print(f' - {nome_restaurante} | {categoria} | {ativo}\n')
voltar_menu_inicial()
def opcao_escolhida():
try:
opcao_escolhida = int(input('Escolha uma opção:\n'))
if opcao_escolhida == 1:
cadastrar_novo_restaurante()
elif opcao_escolhida == 2:
listar_restaurantes()
elif opcao_escolhida == 3:
print('Ativar Restaurante.')
elif opcao_escolhida == 4:
finalizar_app()
else:
opcao_invalida()
except:
opcao_invalida()
Código Corrigido
def listar_restaurantes():
os.system('clear')
print('Listando Restaurantes.\n')
for restaurante in restaurantes:
nome_restaurante = restaurante['nome']
categoria = restaurante['categoria']
ativo = restaurante['ativo']
print(f' - {nome_restaurante} | {categoria} | {ativo}\n')
voltar_menu_inicial()
def opcao_escolhida():
try:
opcao_escolhida = int(input('Escolha uma opção:\n'))
match opcao_escolhida:
case 1:
cadastrar_novo_restaurante()
case 2:
listar_restaurantes()
case 3:
print('Ativar Restaurante.\n')
case 4:
finalizar_app()
case _:
opcao_invalida()
except:
opcao_invalida()