1
resposta

Docstring


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()
1 resposta

Olá, Moyses! Tudo certo?

Analisando seu código, posso dizer que você fez um ótimo. Ele está correto e segue bem as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!