import os
restaurantes = [{'nome': 'Praça', 'categoria':'japonesa', 'ativo':False},
{'nome': 'Pizza Suprema','categoria': 'Pizza', 'ativo':True},
{'nome': 'Cantina','categoria': 'Italiana', 'ativo':True}]
def exibir_nome_do_programa():
print('''
░██████╗░█████╗░██████╗░░█████╗░██████╗░ ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗ ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
╚█████╗░███████║██████╦╝██║░░██║██████╔╝ █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗ ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║ ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝
╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝ ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░
''')
def exibir_opcoes():
print('1. Cadastrar restaurante')
print('2. Listar restaurante')
print('3. Ativar restaurante')
print('4. Sair\n')
def finalizar_app():
exibir_subtitulo('Finalizar app')
def voltar_ao_menu_principal():
input('\nDigite uma tecla para voltar ao menu principal ')
main()
def opcao_invalida():
print('Opção inválida!\n')
voltar_ao_menu_principal()
def exibir_subtitulo(texto):
os.system('cls')
print(texto)
print()
def cadastrar_novo_restaurante():
exibir_subtitulo('Cadastro de novos restaurantes')
nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: ')
categoria = input(f'Digite o nome da categoria do restaurante {nome_do_restaurante}:')
dados_do_restaurante = {'nome':nome_do_restaurante,'categoria': categoria, 'ativo':False}
restaurantes.append(dados_do_restaurante)
print(f'O restaurante {nome_do_restaurante} foi cadastrado com sucesso!')
voltar_ao_menu_principal()
def listar_restaurantes():
exibir_subtitulo('Listando os restaurantes')
for restaurante in restaurantes:
nome_restaurante = restaurante['nome']
categoria = restaurante['categoria']
ativo = restaurante['ativo']
print(f'- {nome_restaurante} | {categoria} | {'ativo'}')
voltar_ao_menu_principal()
def alternar_estado_restaurante():
exibir_subtitulo('Alternando 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_do_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_ao_menu_principal()
def escolher_opcao():
try:
opcao_escolhida = int(input('Escolha uma opção: '))
if opcao_escolhida == 1:
cadastrar_novo_restaurante()
elif opcao_escolhida == 2:
listar_restaurantes()
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_do_programa()
exibir_opcoes()
escolher_opcao()
if __name__ == '__main__':
main()
Ficou com dúvida na variável "nome_do_restaurante" porque está informando que não foi declarada e quando vou rodar o programa, ele aparece a mensagem "Opção inválida!"
for restaurante in restaurantes: if nome_do_restaurante == restaurante['nome']: (No VS Code fica sublinhada em amarelo e diz que não foi declarada) 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)
Já olhei todos os passos e não encontrei o problema.
Alguém poderia me esclarecer? Obrigada