Ele realmente ativa e desativa, porem a mensagem "restaurante não encontrado" não funciona da maneira correta:
Código:
import os
restaurantes = [{'nome':'Pizzaria Pedroso', 'categoria':'italiana', 'ativo':True}, {'nome':'Hamburgueria Netão', 'categoria':'Hamburgueria', 'ativo': False}]
def exibir_nome(): print('Sabor Express\n')
def exibir_opcoes(): print('1. Cadastrar restaurante') print('2. Listar restaurante') print('3. Ativar restaurante') print('4. Sair\n')
def resetar_opcoes(): input('\n Digite uma tecla para voltar ao menu principal: ') main()
def exibir_subtitulo(texto): os.system('cls') print(texto)
def cadastrar_restaurante(): exibir_subtitulo('Cadastro de restaurantes \n')
nome_restaurante = input('Digite o nome do restaurante a ser cadastrado: ')
categoria_restaurante = input(f'Digite a categoria do restaurante {nome_restaurante}: ')
dados_restaurante = {'nome': nome_restaurante, 'categoria': categoria_restaurante, 'ativo': False}
restaurantes.append(dados_restaurante)
print(f'{nome_restaurante} foi cadastrado com sucesso')
resetar_opcoes()
def listar_restaurantes(): exibir_subtitulo('Listando restaurantes \n')
for restaurante in restaurantes:
nome_restaurante = restaurante['nome']
restaurante_ativo = restaurante['ativo']
categoria_restaurante = restaurante['categoria']
print(f'- {nome_restaurante} | {categoria_restaurante} | {tratamento_palavra_ativo(restaurante_ativo)}')
resetar_opcoes()
def ativar_restaurante(): exibir_subtitulo('Alterando status do restaurante') nome_restaurante = input('Digite o nome do restaurante em que deseja ativar/desativar: ') restaurante_encontrado = False for restaurante in restaurantes: if restaurante['nome'] == nome_restaurante: 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('Restaurante não encontrado!')
resetar_opcoes()
def tratamento_palavra_ativo(ativo): if ativo == True: return 'Ativo' else: return 'Desativado'
def finalizar_app(): exibir_subtitulo('Finalizando app.. \n')
def opcao_invalida(): print('Opção inválida\n') resetar_opcoes()
def escolher_opcao(): try: opcao_escolhida = int(input('Escolha uma opção: '))
print(f'Você escolheu a opção {opcao_escolhida}')
if opcao_escolhida == 1:
cadastrar_restaurante()
elif opcao_escolhida == 2:
listar_restaurantes()
elif opcao_escolhida == 3:
ativar_restaurante()
elif opcao_escolhida == 4:
finalizar_app()
except:
opcao_invalida()
def main (): os.system('cls') exibir_nome() exibir_opcoes() escolher_opcao()
if name == 'main': main()