2
respostas

Não entendi como o for é usado

Eu não entendi muito bem como o for foi usado. Que valores ele recebe como parâmetro sintaticamente? Qual é o raciocínio que devo ter quando usar ele?

print("*********************************")
print("** Bem-vindo ao jogo da forca! **")
print("*********************************")

word = "banana"

dead = False
got = False

while not dead and not got:

    answer = input("Escolha uma letra: ")

    index = 0
    for letter in word:
        if answer == letter:
            print("A letra {} fica na posição {}".format(letter, index))
        index = index + 1
2 respostas

pelo que eu entendi, o FOR é usado quando se tem um ponto de partida e repete o bloco até um ponto de chegada.

No seu caso foi usado a variável letter que não recebe valor, recebendo um novo valor baseado na quantidade de letras contida na variável word, que contém a string "BANANA", que são 6 letras em sequência, ou seja, o for tem como ponto de partida 0 e terá 6 ciclos.

No primeiro ciclo a variável letter está dessa forma "letter[0]" e recebe o primeiro valor "B", o que indica o primeiro ciclo, no segundo "letter[1]" e recebe o valor "A" e assim por diante até chegar à "letter[5]"(Já que se inicia do 0 e vai até 5, totalizando 6 valores).

0 = B

1 = A

2 = N

3 = A

4 = N

5 = A

Espero ter ajudado.

Oi Lucas. tente ver da seguinte forma:

você tem a entrada "banana" e você tem a letra digitada pelo usuário, então o laço For, se traduzir para português ficaria assim:

para cada letra em palavra, confira se a letra digitada é igual a letra de palavra na posição do índice. Caso em palavra tenha uma letra igual a letra digitada, imprima a letra e a posição.

talvez pensando dessa forma seja mais fácil entender.

Entenda que a variável 'letter' no for, pode ser o que você quiser. a nomeação da variável é a sua escolha. só tem que mudar ela abaixo onde tem letter pela mesma variável que você nomeou. ex:

palavra_secreta = 'banana'
reposta = entrada do usuário
#código omitido
for letra in palavra_secreta:
        if resposta == letra:
            print("A letra {} fica na posição {}".format(letra, index))
        index = index + 1

Quando fiz a primeira, vez há anos, a matéria de algoritmos, o que me ajudou muito era ler em voz alta o que o código fazia, traduzindo-o para português.

Sucesso aí!