Eu não entendi o porque do index e o motivo de no final do loop ele ser somado mais 1 index = index + 1
Eu não entendi o porque do index e o motivo de no final do loop ele ser somado mais 1 index = index + 1
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!!