2
respostas

função no inicio do arquivo ou no final

Uso o editor de textos do python chamado spyder Quando criei a funcao abertura_jogo conforme abaixo e coloquei no final do programa deu o seguinte erro: File "D:\python\python3-curso\forca.py", line 27, in jogar abertura_jogo()

NameError: name 'abertura_jogo' is not defined

Se eu colocar a função no início do programa não dá o erro

def abertura_jogo():
    print("*******************************")
    print("Bem vindo ao jogo de Forca")
    print("*******************************")
2 respostas

Consegui entender, o trecho abaixo deve ficar no final, daí a ordem das funções não importa

#Execução da função
if (__name__ == "__main__"):
    jogar()

Uma função ou classe precisa sempre ser definida antes de ser utilizada. Não é um problema comum de se encontrar na prática pois geralmente essas partes são importadas ou encapsuladas antes de serem utilizadas.

De qualquer forma, o interpreter do Python lê sempre o código linha a linha, começando do topo. Por isso que sempre colocamos os import no inicio do código, ele pode ser feito em qualquer parte do código, mas caso seja inserido no final vai levantar o mesmo erro que você observou.