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

De onde surgiu o index?

Eu não entendi o porque do index e o motivo de no final do loop ele ser somado mais 1 index = index + 1

2 respostas
solução!

Bom acontece que uma string nada mais é que um array de characteres, assim como uma palavra (seria a string) é formada de letras (seriam os caracteres).

Pensando nesse raciocinio, para voce acessar uma posicao especifica é utilizada a variavel auxiliar "index", inicializada com 0. Para que cada vez que passe por uma letra na palavra possamos saber a posicao do array "letras_acertadas" que precisamos preencher. Por isto que mesmo quando nao encontramos a palavra, o index e somado, para que possa percorrer todas as letras da palavra.

def jogar():
    print("*********************************")
    print("***Bem vindo ao jogo da Forca!***")
    print("*********************************")

    palavra_secreta = "banana"
    letras_acertadas = ["_", "_", "_", "_", "_", "_"]

    enforcou = False
    acertou = False

    print(letras_acertadas)

    while(not enforcou and not acertou):

        chute = input("Qual letra? ")
        chute = chute.strip()

        index = 0
        for letra in palavra_secreta:
            if(chute.upper() == letra.upper()):
                letras_acertadas[index] = letra
            index = index + 1

        print(letras_acertadas)

    print("Fim do jogo")

if(__name__ == "__main__"):
    jogar()

EX.: dada a palavra "banana", como o professor sugeriu. representado como um array de caracteres seria isso : ["b","a","n","a","n","a"] No codigo seria da seguinte forma: 1- Iteracao : index=0 letra.upper() = b

2- Iteracao : index=1 letra.upper() = a

3- Iteracao : index=2 letra.upper() = n

4- Iteracao : index=3 letra.upper() = a

5- Iteracao : index=4 letra.upper() = n

6- Iteracao : index=5 letra.upper() = a

e na comparacao e verificada o que o jogador enviou pra saber se esta correto, e assim o index ajuda a saber a posicao que deve ser mostrada caso, a palavra "chutada" esteja correta.

espero ter ajudado, bons estudos

Obrigada! Ajudou muito mesmo!!