Olá Noemi, tudo bem? Espero que sim!
O return é o resultado final de uma função, após a realização de todo o bloco de código dentro da função.
Ao escrever return chute
, o valor final da função será o valor que está armazenado na variável interna chute, que foi definida através da primeira linha dentro da função, usando o input().
Caso seja definida uma função sem o return, o valor final da função será do tipo None.
Vou deixar aqui um exemplo de código para ficar mais simples o entendimento:
def chute_jogador():
chute = input("Qual letra? ")
chute = chute.strip().upper()
return chute
letra_chute = chute_jogador()
Na última linha, quando atribuímos a função chute_jogador() à variável letra_chute, essa variável receberá o valor do retorno da função, ou seja, receberá o chute devido ao return chute
dentro da função.
def chute_jogador():
chute = input("Qual letra? ")
chute = chute.strip().upper()
letra_chute = chute_jogador()
Caso a função estivesse como na forma acima, a variável letra_chute ficaria com valor None. As funções com o return na maioria dos casos serão utilizadas no momento de atribuir a uma nova variável, assim como foi feito com letra_chute.
As funções sem return são utilizadas de maneira direta, sem atribuir a uma variável, da seguinte forma:
def chute_jogador():
chute = input("Qual letra? ")
chute = chute.strip().upper()
print(chute)
chute_jogador()
Nesse caso, a função é definida e logo depois é utilizada, sem atribuição a uma variável e o bloco de código dentro da função será executado, inclusive o print(), apresentando o resultado na tela.
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!