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

duvida sobre a variável index fora do bloco while

Olá,gostaria entender pq quando coloco a variável (INDEX) do código fora do bloco while ela não funciona

código funcional

def jogar():

    letras_acertadas = ["_","_","_","_","_","_"]
    palavra_secreta = ("banana")
    enforcou = False
    acertou = False


    print("**************************************")
    print("*   Olá,bem vindo ao jogo da forca   *")
    print("**************************************")

    while(not enforcou and not acertou):

        chute = input("Chute sua 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)

código não funcional

def jogar():

    letras_acertadas = ["_","_","_","_","_","_"]
    palavra_secreta = ("banana")
    enforcou = False
    acertou = False
    index = 0

    print("**************************************")
    print("*   Olá,bem vindo ao jogo da forca   *")
    print("**************************************")

    while(not enforcou and not acertou):

        chute = input("Chute sua letra:")
        chute = chute.strip()

        for letra in palavra_secreta:

            if(chute.upper() == letra.upper()):

                letras_acertadas[index] = letra

            index = index + 1


        print(letras_acertadas)

3 respostas

Olá Ian, tudo bem?

Então quando você cria a variável dentro do bloco do while, a cada vez que o while é executado ela é recriada ou seja o seu valor sempre vai ser 1.

Quando colocamos ela fora do bloco do while, ela é alterada a cada vez que passa pelo o while.

Bons estudos!

Mas seguindo esta logica o código que tem INDEX fora do bloco while não seria o certo ?

solução!

Oi Ian, acredito que dependa da lógica que você quer construir. Com o Index fora do while por exemplo, você pode contar quantas chances a pessoa tem pra acertar a palavra, dentro do while no caso, você está está localizando as letras que a pessoa acertou na string pra fazer a substituição.

Entende?