1
resposta

[Dúvida] Duvida no codigo

import os

restaurantes = [{'nome': 'King Pizza', 'categoria': 'Pizza', 'ativo': True },
{'nome':'Sushi Mg', 'categoria': 'Sushi', 'ativo':False}]

def exibir_nome_do_programa():
print("""RESTAURANTE""")

def exibir_opcoes():
print('1. Cadastrar restaurante')
print('2. Listar restaurantes')
print('3. Ativar restaurante')
print('4. Sair\n')

def finalizar_app():
os.system('cls')
print('Finalizando o app')

def opcao_invalida():
print('Opcção inválida!\n')
input('Digite uma tecla e volte ao menu:')
main()

def cadastrar_novo_restaurante():
os.system('cls')
print('Cadastro de novos restaurantes:\n')

nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: \n')

categoria = input(f'Digite o nome do 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!')

input('Digite uma tecla e volte ao menu:')
main()

def listar_restaurantes():
os.system('cls')
print('Listar Restaurantes\n')
print(f"{'Nome do restaurante'.ljust(20)} | {'Categoria'.ljust('20')} | Status")

for restaurante in restaurantes:
    nome_restaurante = restaurante['nome']
    categoria = restaurante['categoria']
    ativo = restaurante['ativo']
    print(f'-{nome_restaurante.ljust(20)} | {categoria.ljust(20)} | {ativo}')

input('Digite uma tecla e volte ao menu:')
main()

def alternar_estado_restaurante():
print('Alternando o estado do restaurante')
nome_restaurante = input('Digite o nome do restaurante que deseja alternar 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 foi desativo com sucesso'
        print(mensagem)
if not restaurante_encontrado:
    print('O restaurante não foi encontrado!')

input('Digite uma tecla para voltar ao menu:')
main()

def escolher_opcao():
try:
opcao_escolhida = int(input('Escolha uma opção: '))
if opcao_escolhida == 1:
cadastrar_novo_restaurante()
elif opcao_escolhida == 2:
listar_restaurantes()
elif opcao_escolhida == 3:
alternar_estado_restaurante()
elif opcao_escolhida == 4:
finalizar_app()
else:
opcao_invalida()
except:
opcao_invalida()

def main():
os.system('cls')
exibir_nome_do_programa()
exibir_opcoes()
escolher_opcao()

if name == 'main':
main()

Ao selecionar a opção 2 e exibido no console, "opçao invalida". Alguem poderia me ajudar?
1 resposta

Bom dia, Luciano! 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.

OBS: no seu caso, algumas partes do código ficaram formatadas devido à endentação do código, mas atrapalha um pouco na visualização do código.

  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.

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