Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas ao ativar ou desativar o restaurante

Olá, boa tarde. Não estou conseguindo ativar ou desativar o restaurante. Todas as vezes que tento ativar ele cai no Except "Opção Inválida". Abaixo segue meu código:

import os

restaurantes = [{'Nome':'Pizza Gourmet', 'Categoria':'Pizza', 'Ativo': True},
                {'Nome':'Cantina Vovó', 'Categoria':'Comida Caseira', 'Ativo': False},
                {'Nome':'Cantinho do recanto', 'Categoria':'Variados', 'Ativo': False}]

def exibir_nome_programa():
    
    print("""
    ░██████╗░█████╗░██████╗░░█████╗░██████╗░  ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
    ██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗  ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
    ╚█████╗░███████║██████╦╝██║░░██║██████╔╝  █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
    ░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗  ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
    ██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║  ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝
    ╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝  ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░""")
    
    
def exibir_opcoes():
        
    print('1. Cadastrar Restaurante')
    print('2. Listar Restaurante')
    print('3. Ativar Restaurante')
    print('4. Sair\n')
    
def voltar_menu():
    input('Digite novamente uma opção para volta ao menu')
    main()

def exibir_subtitulo(texto):
    os.system('cls')
    print(texto)
    print()
    
    
def Opcao_Invalida():
    print('Opção Inválida')
    voltar_menu()
    
    
def cadastrar_novo_restaurante():    
    exibir_subtitulo('Cadastro de novos restaurantes')
    nome_do_restaurante = input('Qual o restaurante você deseja cadastrar:   ')
    categoria = input(f'Informe a categoria do restaurante {nome_do_restaurante}: ')
    dados_restaurante = {'Nome':nome_do_restaurante, 'Categoria': categoria, 'Ativo': False}
    restaurantes.append(dados_restaurante)
    print(f'O restaurante {nome_do_restaurante} foi cadastrado com sucesso\n')
    voltar_menu()
    
    
def listar_novo_restaurante():    
    exibir_subtitulo('Listar novo restaurante')
    for restaurante in restaurantes:
        Nome = restaurante['Nome']
        categoria = restaurante['Categoria']
        Ativo = restaurante['Ativo']
        print(f'{Nome} | {categoria} | {Ativo}')
    voltar_menu()
    
def alternar_estado_restaurante():
    exibir_subtitulo('ALterando estado do restaurante')
    nome_restaurante = input('Digite o nome do restaurante que deseja alterar o estado: ')
    restaurante_encontrado = False
    
    for restaurante in restaurantes:
        if nome_restaurante == restaurante['nome']:
            restaurante_encontrado = True
            restaurante['ativo'] = not restaurante['ativo']
            mensagem = f'O restaurante {nome_restaurante} foi ativado com sucesso' if restaurante['ativo'] else f'O restaurante {nome_restaurante} foi desativado com sucesso'
            print(mensagem)
    
    if not restaurante_encontrado:
        print('O restaurante não foi encontrado.')
        
        
    voltar_menu()

def finalizar_app():
    exibir_subtitulo('Finalizando o App\n')    
    
def escolher_opcoes():
    
    try:
        Opcao_Escolhida = int(input('Escolha uma Opção: '))



        if Opcao_Escolhida == 1:
            cadastrar_novo_restaurante()
        elif Opcao_Escolhida == 2:
            listar_novo_restaurante()
        elif Opcao_Escolhida == 3:
            alternar_estado_restaurante()
        elif Opcao_Escolhida == 4:        
            finalizar_app()
        else:
            Opcao_Invalida()
    except:
        Opcao_Invalida()
        
def main():
    os.system('cls')
    exibir_nome_programa()
    exibir_opcoes()
    escolher_opcoes()
    
if __name__ == '__main__':
    main()

Saída do terminal:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Resolvido