segue o projeto com as DocStrings
import os
restaurantes = [{'nome':'Praça', 'categoria':'Japonesa', 'ativo':False},
{'nome':'Pizza Suprema', 'categoria':'Pizza', 'ativo':True},
{'nome':'Cantina', 'categoria':'Italiano', 'ativo':False}]
def exibir_do_programa():
''' Função que exibe o nome do programa, em formato especial'''
print('''
░██████╗░█████╗░██████╗░░█████╗░██████╗░ ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗ ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
╚█████╗░███████║██████╦╝██║░░██║██████╔╝ █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗ ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║ ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝
╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝ ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░
''')
def exibir_opcoes():
'''Função responsavel por apresentar as opções disponiveis no menu principal'''
print('1 . Cadastrar Restaurante')
print('2 . Listar Restaurante')
print('3 . Alternar estado do Restaurante')
print('4 . Sair\n')
def finalizar_app():
'''Função que encerra o programa'''
exibir_subtitulo('Encerrando o programa\n')
def opcao_invalida():
'''Função que informa ao usuario que selecionou ou inseriu um valor invalido'''
print('opção invalidade\n')
voltar_ao_menu()
def exibir_subtitulo(texto):
'''Funcão que realiza a limpeza da tela, e adiciona um estilo a imagem na tela
obs. A função e realizada a cada troca de menu.
'''
os.system('cls')
linha = '*' * (len(texto))
print(linha)
print(texto)
print(linha)
print()
def voltar_ao_menu():
'''Função que retorna ao menu principal do programa
Outputs:
-Retorna ao menu pricnipal
'''
input('\nDigite uma tecla para voltar o menu ')
main()
def cadastrar_novo_restaurante():
'''Essa função e responsavel por cadastrar um novo restaurante
inputs:
- Nome do Restaurantes
- Categoria
Outputs:
- Adicionaum novo restaurante a lista de restaurantes
'''
exibir_subtitulo('Cadastro de novos Restaurantes\n')
nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: \n')
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')
voltar_ao_menu()
def listar_restaurantes():
''' Função responsavel por apresentar uma lista dos restaurantes pertencente a lista'''
exibir_subtitulo('Listando os Restaurantes')
print(f'{'Nome do Restaurante'.ljust(22)} | {'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()
def alternar_estado_restaurante():
''' Função responsavel por ativar ou desativar os restaurantes na lista
inputs:
- insere o nome do restaurantes cadastrado
Outputs:
- Altera o status do restaurante informado.
Obs. E recomendando que apos executar essa função, utilize a listar restaurantes para conferir se a alteração foi feita corretamente.
'''
exibir_subtitulo('Alternando o 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(f'O restaurante {nome_restaurante} não foi encontrado')
voltar_ao_menu()