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

uso do def

Olá gostaria de saber porque não consigo colocar meu def na parte de baixo código,apenas na parte de cima,pq consta como se a função ainda não existisse.


def abrir_arquivo():
    
def pede_chute():

palavra= []

abrir_arquivo()

por exemplo se eu tentar colocar o def abrir_aequivo() no final do código vai aparecer a mensagem "arquivo não definido". desde já obrigado!

1 resposta
solução!

Olá, Samuel! Tudo bem?

Em Python, a ordem em que você define suas funções importa. O interpretador Python lê e executa seu script linha por linha, de cima para baixo.

Quando ele encontra uma função, ele a registra para uso posterior, mas não a executa até que seja chamada. Se você tentar chamar uma função antes de defini-la, o Python não saberá o que fazer, porque ainda não registrou essa função.

No seu exemplo, se você mover o def abrir_arquivo(): para o final do código, quando o Python chegar na linha abrir_arquivo(), ele não saberá o que é abrir_arquivo porque ainda não encontrou a definição da função.

Um exemplo prático para entender melhor:

def funcao1():
    print("Função 1 chamada")

def funcao2():
    print("Função 2 chamada")
    funcao1()

funcao2()

Nesse exemplo, funcao1 é definida antes de funcao2, e funcao2 chama funcao1. Quando chamamos funcao2 no final do script, ela imprime "Função 2 chamada" e depois chama funcao1, que imprime "Função 1 chamada". Se invertêssemos a ordem das definições de função, teríamos um erro porque funcao2 tentaria chamar funcao1 antes de funcao1 ser definida.

Espero ter ajudado e bons estudos!

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