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

[Dúvida] Não apresenta resposta no Terminal

O programa não apresenta erro, mas não está rodando no terminal. O que posso fazer?

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

2 respostas
solução!

Olá Ana júlia, tudo bem ?

Eu vi aqui seu código, o problema é que a função que deveria ser chamada para iniciar o programa função main está dentro de um if que está aninhado dentro da própria função.

Problema

Essa parte abaixo: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O if deveria estar aninhado com a definição abaixo.

Solução

Tente usar essa função abaixo alinhei para você

import os

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

def finalizar_app():
    os.system('cls' if os.name == 'nt' else 'clear')  # mais compatível com diferentes SOs
    print("Finalizando o app\n")

def escolher_opcao():
    opcao_escolhida = int(input('Escolha uma opção: '))

    if opcao_escolhida == 1:
        print("Cadastrar restaurante")
    elif opcao_escolhida == 2:
        print("Listar restaurantes")
    elif opcao_escolhida == 3:
        print("Ativar restaurante")
    else:
        finalizar_app()

def main():

    exibir_nome_do_programa()
    exibir_opcoes()
    escolher_opcao()

if __name__ == '__main__':
    main()

Outro ponto

Só acrescentando o __ main __ dentro do if permitirá esse código rodar apenas se ele for executado diretamente. Acredito que esse é o comportamento desejado, mas trazendo mais essa informação.

conclusão

Espero ter ajudado.

Se tiver mais dúvidas pode mandar!

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

Muito obrigada !!