import os
restaurantes = [{'nome':'Praça', 'categoria':'Japonesa', 'ativo':False},
{'nome':'Pizza Superma', 'categoria':'Pizza', 'ativo':True},
{'nome':'Cantina', 'categoria':'Italiano', 'ativo':False}]
def exibir_nome_do_programa():
''' Para exibir o nome do programa, foi utilizado o site de fsymbols.
'''
print("""
░██████╗░█████╗░██████╗░░█████╗░██████╗░ ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗ ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
╚█████╗░███████║██████╦╝██║░░██║██████╔╝ █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗ ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║ ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗████
""")
def exibir_opcoes():
'''Exibe as Opcões que vão para o programa
'''
print('1. Cadastrar restaurante')
print('2. Listar restaurante')
print('3. Ativar ou desativar restaurante')
print('4. Sair\n')
def finalizar_app():
''' Exibe mensagem de finalização do aplicativo
'''
exibir_subtitulos('Finalizando App.')
def voltar_ao_menu_principal():
'''Faz o programa voltar ao menu inicial.
'''
input('\nDigite uma tecla para voltar ao menu inicial.')
main()
def opcao_invalida():
'''Exibe mensagem de opção inválida e volta ao menu principal
Outputs:
Volta ao menu principal
'''
print('Opção invalida!\n')
voltar_ao_menu_principal()
def exibir_subtitulos(texto):
''' Exibe um subtitulo estilizado na tela
'''
os.system('cls')
linha = '*'* (len(texto))
print(linha)
print(texto)
print(linha)
print()
def cadastrar_novo_restaurante():
'''Essa função é para cadastrar um novo Restaurante.
Inputs:
Nome do restaurante
Categoria
Outputs:
Adiciona um novo restaurante a lista de restaurantes
'''
exibir_subtitulos('Cadastro de 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!\n')
input ('Digite uma tecla para voltar ao menu inicial.')
main()
def listar_restaurantes():
''' Lista os restaurantes presentes na lista
Outputs:
- Exibe a lista de restaurantes na tela
'''
exibir_subtitulos('Listando todos os restaurantes.')
print(f'{'Nome do restaurante'.ljust(23)} | {'Categoria'.ljust(20)} | Status')
for restaurante in restaurantes:
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 alternar_estado_do_restaurante():
''' Altera o estado ativo/desativado de um restaurante
Outputs:
Exibe mensagem indicando o sucesso da operação
'''
exibir_subtitulos('Alterando estado do restaurante')
nome_restaurante = input('Digite o nome do restaurante que deseja ativar ou desativar.')
restaurante_encontrado = False
for restaurante in restaurantes:
if nome_restaurante == restaurante['nome']:
restaurante_encontrado = True
restaurante['ativo'] = not restaurante['ativo']
mensagem = f'\nO restaurante {nome_restaurante} foi ativado com sucesso!' if restaurante['ativo'] else f'\nO 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():
''' Solicita e executa a opção escolhida pelo usuário
Outputs:
Executa a opção escolhida pelo usuário
'''
try:
opcao_escolhida = int(input('Escolha uma opção: '))
# opcao_escolhida = int(opcao_escolhida)
if opcao_escolhida == 1:
cadastrar_novo_restaurante()
elif opcao_escolhida == 2:
listar_restaurantes()
elif opcao_escolhida == 3:
alternar_estado_do_restaurante()
elif opcao_escolhida == 4:
finalizar_app()
else:
opcao_invalida()
except:
opcao_invalida()
def main():
''' Função que inicia o programa '''
os.system('cls')
exibir_nome_do_programa()
exibir_opcoes()
escolher_opcao()
if __name__ == '__main__':
main()