Não entendi o uso do index :(
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
Não entendi o uso do index :(
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
Oi, Mariella! Então, o index
é a variável que guarda a posição da letra atual na palavra_secreta
. Repare que usamos ela no print
, apenas para indicar a posição. Uma alternativa, considerada boa prática, é usar a função enumerate()
, que faz a iteração pelo index junto com a letra:
for index, letra in enumerate(palavra_secreta):
if chute.upper() == letra.upper():
print("Encontrei a letra {} na posição {}".format(letra, index))
Por quê começamos o código com index = 0 e, ai final, abaixo do print() colocamos index = index + 1. Essa parte ficou bastante confusa pra mim.
Já no exemplo que você apresentou, o enumerate() significa que eu vou buscar a posição (index) e a letra dentro da palavra_secreta?
Agora confundi tudo!
Opa, Mariella, desculpa por confundir mais, hehe :v!
No código que você mandou, começamos definindo a variável index
com o valor 0
. Logo em seguida, começamos o loop for
, que está iterando sobre a palavra_secreta
(ou seja, o código dentro desse bloco do loop vai rodar para cada letra da variável palavra_secreta
).
Se a letra da vez for a mesma que a letra chutada pelo usuário (chute
), o código imprime uma mensagem indicando que encontrou a letra e a posição em que ela foi encontrada. Essa posição está sendo controlada pela variável index
, na qual definimos o valor 0
antes do loop. Em cada loop, além de fazermos essa verificação e (caso True
) impressão, adicionamos 1
ao index
com o index = index + 1
, indicando que estamos passando da letra do índice 0 para a letra do índice 1, e assim por diante. Nesse caso, sem o index
a gente não teria como saber que posição está a letra que encontramos.
O enumerate()
, que eu propus, consegue juntar as duas variáveis letra
e index
em uma mesma função. Então iteramos sobre o índice e a letra ao mesmo tempo! Olha um exemplo:
palavra_secreta = 'casa'
for index, letra in palavra_secreta:
print(index, letra)
E o resultado:
0 c
1 a
2 s
3 a
Acho que entendi \o/ ... rs Obrigada, Yan.
Vou praticar e qualquer dúvida retorno ao forum :)