import os
restaurantes = [{'nome':'Praça', 'categoria':'Japonesa', 'ativo':False}, {'nome':'Pizza Suprema', 'categoria':'Pizza', 'ativo':True}, {'nome':'Cantina', 'categoria':'Italiana', 'ativo':False} ]
def exibir_nome_do_programa(): # Exibe o nome do programa print(""" Sabor Express """)
def exibir_opcoes(): #Exibe as opções do menu principal print('1. Cadastrar restaurante') print('2. Lista restaurante') print('3. Alterar estado do restaurante') print('4. Sair\n')
def finalizar_app(): #Função para finalizar o app os.system('cls') os.system('exit') print('Obrigado por utilizar o Sabor Express!\n')
def voltar_ao_menu_principal(): #Função para voltar ao menu principal input('\nDigite qualquer tecla para voltar ao menu ') main()
def exibir_subtitulo(texto): #Função para exibir o subtitulo os.system('cls') linha = '*' * len(texto) print(linha) print(texto) print(linha) print()
def opcao_invalida(): #Função para exibir mensagem de opção inválida print('Opção invalida!\n') voltar_ao_menu_principal()
def cadastrar_novo_restaurante(): #Função para cadastrar um novo restaurante exibir_subtitulo('Cadastro de novos restaurantes')
nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: ') #Input para inserir o nome do restaurante e a categoria
categoria = input(f'Digite o nome da categoria do restaurante {nome_do_restaurante}: ')
dados_do_restaurante = {'nome': nome_do_restaurante, 'categoria': categoria, 'ativo': False} #Dicionario armazenando os dados do restaurante
restaurantes.append(dados_do_restaurante) #usando o dicionario para adicionar os dados do restaurante na lista de restaurantes
print(f'O restaurante {nome_do_restaurante} foi cadastrado com sucesso!')
voltar_ao_menu_principal()
def listar_restaurantes(): #Função para listar os restaurantes cadastrados exibir_subtitulo('Listando os restaurantes')
print(f'{'Nome do restaurante'.ljust(22)} | {'Categoria'.ljust(20)} | Status') #Print para exibir os cabeçalhos da tabela
for restaurante in restaurantes: #O loop percorre a lista de restaurantes e exibe os dados de cada um
nome_restaurante = restaurante['nome']
categoria = restaurante['categoria']
ativo = 'ativado' if restaurante['ativo'] else 'desativado'
print(f'- {nome_restaurante.ljust(20)} | {categoria.ljust(20)} | {ativo}')
voltar_ao_menu_principal()
def alterar_estado_restaurante(): #Função para alterar o estado do restaurante exibir_subtitulo('Alterar estado do restaurante')
nome_restaurante = input('Digite o nome do restaurante que deseja alterar o estado: ') #Input para procurar o restaurante na lista de restaurantes
restaurante_encontrado = False
for restaurante in restaurantes: #O loop percorre a lista de restaurantes e verifica se o restaurante existe
if nome_restaurante == restaurante['nome']: #Se o restaurante existir, ele altera o estado do restaurante e exibe uma mensagem de sucesso
restaurante_encontrado = True
restaurante['ativo'] = not restaurante['ativo']
mensagem = f'o restaurante {nome_restaurante} foi ativado com sucesso!' if restaurante['ativo'] else f'o restaurente {nome_restaurante} foi desativado com sucesso!'
print(mensagem)
if not restaurante_encontrado:
print(f'O restaurante {nome_restaurante} não foi encontrado!')
voltar_ao_menu_principal()
def escolher_opcao(): #Função para escolher a opção do menu principal try: opcao_escolhida = int(input('Escolha uma opção: ')) match opcao_escolhida: case 1: cadastrar_novo_restaurante() case 2: listar_restaurantes() case 3: alterar_estado_restaurante() case 4: finalizar_app() except: opcao_invalida()
def main(): #Função principal do programa os.system('cls') exibir_nome_do_programa() exibir_opcoes() escolher_opcao()
if name == 'main': # Executa a função principal do programa main()