Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Cadastro de novos restaurantes

Pessoal, bom dia!

Estou com problema no main na linha 38, o que está de errado?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá rodrigo, espero que esteja bem

Eu vi seu código, notei duas coisas, parece que o código abaixo da função cadastrar_novo_restaurante está fora do aninhamento.

O python trabalha com aninhamento então esse código não está dentro da função mais sim sendo executado no programa principal.

Eu adaptei o programa que você mostrou, veja se o código abaixo seria o que você pretendia criar:

restaurantes = []

def finalizar_app():
    print("\nFinalizando o app...\n")

def cadastrar_novo_restaurante():
    print("\nCadastro de novos restaurantes")
    nome_do_restaurante = input("Digite o nome do restaurante que deseja cadastrar: ")
    restaurantes.append(nome_do_restaurante)
    print(f'O restaurante "{nome_do_restaurante}" foi cadastrado com sucesso!')
    input("Digite uma tecla para voltar ao menu...")

def opcao_invalida():
    print("\nOpção inválida!")
    input("Digite uma tecla para voltar ao menu...")
    main()

def exibir_opcoes():
    print("\nBem-vindo ao Sabores Express")
    print("1 - Cadastrar restaurante")
    print("2 - Listar restaurantes")
    print("3 - Sair\n")

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:
            finalizar_app()
        else:
            opcao_invalida()
    except ValueError:
        print("\nErro: Digite apenas números!")
        escolher_opcao()

def listar_restaurantes():
    print("\nLista de restaurantes cadastrados:")
    for restaurante in restaurantes:
        print(f"- {restaurante}")
    input("\nDigite uma tecla para voltar ao menu...")

def main():
    while True:
        exibir_opcoes()
        escolher_opcao()

main()

Outro ponto que notei é que você parece estar chamando o main(), não sei se a inteção seria chamar ele dentro do cadastrar_novo_restaurante., mas ele está acusando.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade