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

Não entendi como a variável index funciona

Essa variável começa com 0 e ao fim do loop recebe +1. Não entendi como essa variável imprime a posição da letra, já que parece que ela vai somando de 1 em 1, mas quando rodo o código ela realmente devolve a posição daquela letra.

Como isso acontece?

3 respostas

Poderia postar o código que você esta com duvida aqui?

solução!
 index = 0
    for letra in palavra_secreta:
        if (chute.upper() == letra.upper()):
            print("Encontrei a letra {} na posição {}".format(letra, index))
        index = index + 1

O for é um loop, neste caso ele esta iterando sobre o objeto palavra_secreta. Iterar é você percorrer uma lista, passando por cada elemento sequencialmente.

Por exemplo, sua lista tem 4 elementos:

  • Casa (0)
  • Carro (1)
  • Mesa (2)
  • Livro (3)

Oque o for faz é percorrer cada item desta lista e atribuir este item a variável definida.

Estrutura do for --> for (variável que ira receber o valor do objeto na posição iterada) in (objeto que será iterado)

Como nossa lista contém 4 elementos o for irá rodar somente 4 vezes. Desta forma cada vez que o for "roda" ele soma mais um ao index.

lista = ['Casa', 'Carro', 'Mesa', 'Livro']
index = 0

for item in lista:
    print("Encontrei o item {} na posição {}".format(item, index))
    index = index + 1

Após a iteração 1:

Saida do print: Encontrei o item Casa na posição 0

valor do index = 1

Perceba que o primeiro item da nossa lista é a 'Casa', ele é o primeiro item a ser iterado pois esta na posição 0 da lista. O código "sabe" que esta na posição 0 pois o index é somado somente após a informação ser "exibida na tela.

OBS: A contagem de listas começa na posição 0, não na 1. Quando você vai contar a posição de um item em um vetor, você sempre parte do 0. Isso em Python, em outras linguagens eu não sei.

lista = ['Casa', 'Carro', 'Mesa', 'Livro']

Após a iteração 2:

Saida do print: Encontrei o item Carro na posição 1

valor do index = 2

lista = ['Casa', 'Carro', 'Mesa', 'Livro']

Agora o item exibido é o "Carro", pois ele é o próximo item da nossa lista. Oque é importante observar é que o for itera item a item da posição 0 até o ultimo item da lista. Há parâmetros que você pode passar para o for para dizer de onde ele começa e até onde ele vai, mas não comentarei sobre isso agora pois irá dificultar o entendimento.

Após a iteração 3:

Saida do print: Encontrei o item Mesa na posição 2

valor do index = 3

lista = ['Casa', 'Carro', 'Mesa', 'Livro']

Após a iteração 4:

Saida do print: Encontrei o item Livro na posição 3

valor do index = 4

lista = ['Casa', 'Carro', 'Mesa', 'Livro']

E aqui terminamos nossa iteração, após percorrer todos os itens da nossa lista.

Muito obrigada pela explicação super didática, ficou bem mais claro :)