1
resposta

[Projeto] [Projeto] Sabor Express - Docstrings

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

1 resposta

Bom dia, Fabio! Tudo bem?

Você fez um ótimo trabalho resolvendo o desafio! Seu código está correto, então te parabenizo pelo seu esforço e dedicação!

A título de informação, quando precisar compartilhar códigos aqui no fórum é interessante dar uma boa visibilidade para ele. Para isso, você pode seguir os passos que compartilho a seguir. Sem a formatação correta, o código acaba ficando escondido e de difícil visualização.

  1. Selecione o trecho com o código no seu post;

  2. Aqui no fórum, procure o ícone </>. É a sétima opção na aba superior do nosso editor de texto;

  3. Clique no ícone comentado acima, certificando-se que está com todo o trecho de código selecionado.

Para confirmar se está tudo certo, você pode pré-visualizar seu post clicando no penúltimo ícone da esquerda para a direita, ou também usando o atalho F9.

No mais, se precisar de ajuda ou tiver alguma dúvida relacionada aos seus estudos, o fórum é o melhor lugar para te ajudar.

Bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!