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

Dúvida na ordem dos parametros

Copiei de uma vídeo-aula uma função com os seguintes parâmetros:

def marca_chute_correto(chute,letras_acertadas,palavra_secreta):
    index = 0
    for letra in palavra_secreta:
        if (chute == letra):
            letras_acertadas[index] = letra
        index += 1

porem fiquei em dúvida de como saber a ordem dos parâmetros, por exemplo a variável palavra_secreta que é passada por ultimo, e a primeira a aparecer. Quando mudo para def marca_chute_correto(palavra_secreta,chute,letras_acertadas) o programa não funciona corretamente

1 resposta
solução!

Quando você declara uma função e defini os parâmetros que vai receber, ao chamar a função eles têm de ser passados na mesma ordem em que foram declarados, se você mudar a ordem da declaração, você tem que mudar a ordem em que os parâmetros são passados senão a função não vai funcionar.

Por exemplo, se você declara:

def marcachutecorreto(palavrasecreta,chute,letrasacertadas):

Ao chamar a função você precisa passar os parâmetros na ordem em que foram declarados, por exemplo:

marcachutecorreto("segredo", "a" , letrascertas)

Observe que o importante é a ordem em que os parâmetros que são passados e seus valores, os nomes das variáveis usadas na passagem dos parâmetros não é importante.

Há também a possibilidade de usar parâmetros nomeados assim a ordem não importaria, mas aí você precisa nomear todos os parâmetros:

def marcachutecorreto(chute = "a", letrasacertadas = letrascertas, palavrasecreta = "segredo")