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():
""""Exibe o nome do Restaurante na tela"""
print("""
░██████╗░█████╗░██████╗░░█████╗░██████╗░ ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗ ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
╚█████╗░███████║██████╦╝██║░░██║██████╔╝ █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗ ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║ ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝
╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝ ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░""")
def exibir_opcoes():
""""Exibe as opções do restaurante"""
print('1. Cadastrar Restaurante')
print('2. Listar Restaurante')
print('3. Alternar estado do Restaurante')
print('4. Sair\n')
def voltar_menu():
"""Volta ao menu principal"""
input('Digite novamente uma opção para volta ao menu')
main()
def exibir_subtitulo(texto):
"""Exibe os subtitulos de cada opção"""
os.system('cls')
linha = '*' * (len(texto))
print(linha)
print(texto)
print(linha)
print()
def Opcao_Invalida():
"""Invalida uma opção de entrada errada"""
print('Opção Inválida')
voltar_menu()
def cadastrar_novo_restaurante():
"""Essa função cadastra os restaurantes
Input: Qualquer restaurante
Output: Restaurante Cadastrado
"""
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():
"""Lista os restaurantes disponíveis"""
exibir_subtitulo('Listar novo restaurante')
print(f'{'Nome do Restaurante'.ljust(20)} | {'Categoria'.ljust(20)} | Status do Restaurante')
for restaurante in restaurantes:
Nome = restaurante['nome']
categoria = restaurante['categoria']
Ativo = 'Ativado' if restaurante['ativo'] else 'Desativado'
print(f'{Nome.ljust(20)} | {categoria.ljust(20)} | {Ativo}')
voltar_menu()
def alternar_estado_restaurante():
"""Essa função alterna o estado do restaurante
Input: Digita o restaurante que deseja alterar
Output: Altera o estado do restaurante se estiver com a entrada correta. Caso contrário, não encontra o 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():
"""Essa função finalizar o aplicativo do restaurante"""
exibir_subtitulo('Finalizando o App\n')
def escolher_opcoes():
"""Função em que o usuário escolhe a opção do restaurante"""
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():
"""Chama todas as minha funções na tela principal"""
os.system('cls')
exibir_nome_programa()
exibir_opcoes()
escolher_opcoes()
if __name__ == '__main__':
main()