Solucionado (ver solução)
Solucionado
(ver solução)
10
respostas

parou de funcionar após eu digitar o voltar_ao_menu_principal

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

10 respostas

Olá Ana! Tudo bem?

Parece que o problema pode estar relacionado à função voltar_ao_menu_principal(). Vamos verificar alguns pontos que podem estar causando o erro:

  1. Verifique a Indentação: Certifique-se de que a função voltar_ao_menu_principal() está corretamente indentada e definida no seu código. Além disso, veja se ela está sendo chamada corretamente dentro das outras funções.

  2. Função main(): A função voltar_ao_menu_principal() chama main(), então é importante garantir que a função main() esteja definida e funcionando corretamente. Se main() não estiver definida ou tiver algum erro, isso pode causar problemas.

  3. Erro de Sintaxe: Na imagem, parece que há um erro de sintaxe na linha onde voltar_ao_menu_principal() é definida. Verifique se há algum erro de digitação ou sintaxe, como parênteses ou aspas faltando.

Se essas dicas não resolverem, pode ser útil revisar o código completo para identificar onde o problema está ocorrendo. Então peço que compartilhe ele por inteiro, recomendo que use o GitHub.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Boa tarde, Ana! Peço perdão pela demora em retornar.

Analisando o projeto no repositório que você compartilhou, notei alguns problemas e irei listar eles logo abaixo de forma separa para você conseguir visualizar bem.

  1. Na linha 47 do seu arquivo "app.py" a estrutura de repetição que você fez para mostrar as informações de cada restaurante tem um problema de endentação na função print, ele deve está dentro do for. Segue o exemplo:

    for restaurante in restaurantes:
        print(f'.{restaurante}')
    
  2. Por fim, na linha 67 do seu projeto há um probleminha bobo, onde você esqueceu de adicionar a letra "n" em "invalida". Ao corrigir isso todo o seu código deve rodar sem mais problemas.

Espero ter ajudado e fico à disposição para mais problemas ou dúvidas!

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

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

Olá, Ana!

Agora o erro está na função main, e como se trata de um NameError, provavelmente você definiu a função main com outro nome. Para solucionar isso, peço que vá para a linha 70 ou 72 do seu projeto e veja como está o nome da última função definida, caso esteja diferente de main, mude para a mesma.

Caso tenha mais problemas, estou à disposição!

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

Bom dia, Ana!

Peço que atualize o seu repositório remoto em relação ao seu projeto local, pois, imagino que haja algum trecho de código que esteja diferente, causando assim o problema Tendo em vista que o erro era para estar relacionado a função main, mas a mesma está correta.

Fico no agurado!

solução!

Boa tarde, Ana!

O problema na edentação do trecho de condição que havia comentado na minha postagem anterior e na chamada da função voltar_ao_menu_principal() que está logo abaixo dessa condição, ambas estavam fora da função cadastrar_novo_restaurante() o que acabou causando todo esse erro.

Segue o código completo e corrigido:

import os

restaurantes = ['Pizza', 'Sushi']

def exibir_nome_do_programa():
    print('''
░██████╗░█████╗░██████╗░░█████╗░██████╗░  ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗  ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
╚█████╗░███████║██████╦╝██║░░██║██████╔╝  █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗  ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║  ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝
╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝  ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░
      ''')

def exibir_opçoes():
    print('1. Cadastrar resturante')
    print('2. Listar resturantes')
    print('3. Ativar resturante')
    print('4. Sair\n')

def finalizar_app():
    os.system('cls')
    print('Encerrando o app\n')

def voltar_ao_menu_principal():
     input('\nDigite uma tecla para voltar ao menu principal ')
     main()

def opçao_invalida():
    print('Opção inválida\n')
    voltar_ao_menu_principal()

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: ')
    restaurantes.append(nome_do_restaurante)
    print(f'O restaurante {nome_do_restaurante} foi cadastrado com sucesso!\n')

    voltar_ao_menu_principal()

def listar_restaurantes():
    os.system('cls')
    print('Listando todos os restaurantes\n')
            
    for restaurante in restaurantes:
        print(f'.{restaurante}')

    voltar_ao_menu_principal()

def escolher_opçao():
    try:

        opçao_escolhida = int(input('Escolha uma opção:'))

        if opçao_escolhida == 1:
            cadastrar_novo_restaurante()
        elif opçao_escolhida == 2:
            listar_restaurantes()
        elif opçao_escolhida == 3:
            print('Ativar restaurante')
        elif opçao_escolhida == 4:
            finalizar_app()
        else:
            opçao_invalida()
     
    except:
        opçao_invalida()

def main():
    os.system('cls')
    exibir_nome_do_programa()
    exibir_opçoes()
    escolher_opçao()

if __name__ == '__main__':
    main()
    

Fico a disposição!