Olá Luna,
letras_acertadas
é um array que está guardando quais letras foram acertadas e o local/posição dessas letras acertadas dentro da palavra.
O for
vai executar para cada letra, e a variável index
vai indicar a posição, igual a um contador.
Analisando a execução temos:
# Dados de teste
palavra_secreta = 'LUNA'
chute = 'U'
letras_acertadas = ["_", "_", "_", "_"]
Na primeira execução do for
temos index igual a 0
e letra igual a 'L'
. Assim o if
vai retornar falso já que o chute (U) é diferente da letra (L). E no final o valor de index
vai aumentar por + 1.
Na segunda execução do for
temos index igual a 1
e letra igual a 'U'
. Agora o if
vai ser verdadeiro, chute (U) é igual a letra atual (U), e o código letras_acertadas[index] = letra
será executado:
# index é 1 e a letra é 'U'
# Substituindo os valores temos:
letras_acertadas[1] = 'U'
# Agora esse é o valor de letras_acertadas (lembrando que a posição começa em 0):
["_", "U", "_", "_"]
# Colocamos o 'U' na posição 1
Na terceira execução temos chute (U) diferente da letra atual (N), e na quarta e final execução também, chute (U) e letra (A). O valor de index
continua a aumentar por + 1 a cada execução, mas seu valor não é mais utilizado.
Então agora você tem um array que armazena qual letra foi acertada e a sua posição, e assim vai montando a palavra letra por letra, até a pessoa acertar tudo ou perder.
Espero ter ajudado, se ainda tiver qualquer dúvida pode perguntar.