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

Não entendi a variável index

def jogar():

    print("Bem vindo ao jogo da forca.")
    palavra_secreta = "banana"
    letras_acertadas = ["_","_","_","_","_","_"]
    enforcado = False
    acertou = False

    while(not enforcado and not acertou):
        chute = input("Chute uma letra:")
        chute = chute.strip()
        chute = chute.lower()
        index = 0
        for letra in palavra_secreta:
            if(letra == chute):
                letras_acertadas[index] = letra
            index = index + 1
        print("Deu certo")
        print(letras_acertadas)

    print("Fim de jogo.")

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

Este é o meu código para o jogo da forca. Estou seguindo os passos dados nas aulas e ele está funcionando perfeitamente . Minha dúvida é sobre a variável index = 0. Eu não consegui entender perfeitamente o que ela faz no programa. Ela serve para guardar quantas "posições" há na variável palavra_secreta? Ou é algo diferente disso? Agradeço desde já.

4 respostas

Fala Luiz, beleza?

É exatamente isso! Ela é uma referência para a posição da letra. Por exemplo, essa palavra do jogo tem 6 letras, e não sei se você lembra, mas a contagem dentro de uma lista, tupla, etc no Python começa pelo 0 e não pelo 1. Então o index aí dentro do código é justamente para referenciar a primeira letra da palavra a ser adivinhada, e depois vai somando +1 para passar por todas as letras.

Mas o nome da variável não precisaria ser index, poderia ser outra como "letra_da_palavra" ou algo do tipo, mas index é uma variável mais utilizada para situações como essas dentro do mundo da programação (pelo menos essa é a impressão que eu tenho).

Espero ter te ajudado!

Obrigado pela explicação, Eduardo! Mas eu ainda não entendi como isso é referenciado no código. Quer dizer... onde e como foi dito que essa era minha intenção para essa variável? Obrigado pela atenção!

solução!

Dentro do laço 'for'.

Assim, vc definiu que index = 0, mas sem ela no laço 'for' ela ficaria perdida mesmo.

Veja, letras acertadas é uma lista, correto? Uma lista formada por 6 'espaços', ou underscores se quiser ser literal com o código.

Quando você coloca letras acertadas[index] é uma referência a lista que você criou, e o index referencia qual objeto da lista. Como index = 0, então é o primeiro objeto da lista, e assim por diante.

Se não ficou claro, pergunta de novo que vou tentando te ajudar hahahah

Agora sim ficou claro. Obrigado, Eduardo!