Repetindo com for

Aprenda a usar for para percorrer sequências de informações ou executar tarefas por um número exato de vezes.

Na lição anterior, conhecemos o loop while, que funciona sob condições lógicas (como correr na esteira até cansar). Agora, vamos conhecer o seu irmão for (que significa para em inglês).

O que é o loop for?

Diferente do while, o loop for não precisa ficar testando uma condição aberta a cada volta. Ele foi desenhado especificamente para percorrer sequências pré-definidas de coisas, do início ao fim, um item de cada vez.

Imagine que você comprou um livro de 5 páginas. O loop for funciona assim: "Para cada página do livro, leia a página". Você começa na página 1, lê, passa para a 2, lê, e assim por diante. Quando você chega na última página, você fecha o livro e a tarefa acaba automaticamente!

Outra analogia seria imaginar uma fila de pessoas em um caixa. O for entrega a senha para cada pessoa, uma por uma, até que a última pessoa é atendida e não há mais ninguém na fila."

O loop for com strings (soletrando uma palavra)

Como ainda não aprendemos a trabalhar com listas de dados, vamos usar um tipo de sequência que você já conhece muito bem: as strings (textos).

Uma palavra é, na verdade, uma sequência ordenada de letras. O loop for consegue visitar cada letra de uma palavra, uma por uma. Veja este exemplo:

palavra = "PYTHON"

# Para cada letra dentro da palavra PYTHON, execute:
for letra in palavra:
   print(letra)

Como o Python lê esse código?

  1. O Python cria uma variável temporária chamada letra.
  2. Na primeira volta do loop, letra recebe o valor "P" e o exibe na tela.
  3. Na segunda volta, letra recebe "Y" e o exibe.
  4. Isso se repete para as letras "T", "H", "O" e "N".
  5. Quando a palavra acaba, o loop termina de forma limpa e automática!

O loop for com a função range() (criando sequências de números)

E se quisermos repetir uma tarefa um número exato de vezes, por exemplo, 5 vezes?

Para isso, o Python possui um ajudante fantástico chamado range() (que significa intervalo em inglês). Ele cria uma sequência de degraus numéricos para o for subir.

Veja um exemplo de contagem progressiva:

# range(5) cria uma sequência de 5 números, sempre começando do 0: [0, 1, 2, 3, 4]
for numero in range(5):
   print("Degrau número:", numero)

Atenção: Em programação, a contagem quase sempre começa do número 0. Por isso, range(5) gera os números de 0 a 4 (são 5 números no total!).

E se eu quiser começar do 1?

Não tem problema! Podemos passar um ponto de início e um ponto de fim para o range(inicio, fim):

# Mostra os números de 1 a 3 (o número final 4 é exclusivo e não aparece!)
for contador in range(1, 4):
   print(contador)

Outros exemplos

Para fixar bem como o for e o range() trabalham em dupla, veja estes dois exemplos práticos muito comuns:

Exemplo 1: Imprimindo uma tabuada inteira

Imagine que você precisa fazer a tabuada do número 5 (multiplicar de 1 a 10). Com o for e o range(), fazemos isso em apenas 4 linhas de código!

multiplicador = 5

# range(1, 11) gera os números de 1 até 10 (o 11 fica de fora!)
for numero in range(1, 11):
   resultado = multiplicador * numero
   print(multiplicador, "x", numero, "=", resultado)

O resultado impresso no console será:

5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

Exemplo 2: Somar números de 1 a 10

Também podemos usar uma variável "acumuladora" (uma cestinha) fora do for para guardar e somar valores a cada volta, igual fizemos com o while:

soma = 0

# Passa pelos números de 1 a 10
for numero in range(1, 11):
   soma = soma + numero  # Adiciona o número atual na nossa soma acumulada

print("A soma de todos os números de 1 a 10 é:", soma)  # Mostra: 55

Diferença rápida: while vs for

Característica Loop while Loop for
Foco Condição lógica aberta. Sequências definidas.
Controle de parada Depende de uma condição virar False. Termina sozinho ao fim da sequência.
Facilidade Exige atualizar um contador (ex.: += 1). Atualiza o contador sozinho a cada volta.
Uso comum Quando não sabemos quantas voltas dará. Quando sabemos quantas voltas dará.

O que aprendemos nesta lição

Nesta lição, você aprendeu que:

  • O loop for serve para percorrer sequências de informações, um item por vez.
  • Ele cria uma variável temporária que assume o valor de cada item da sequência a cada volta.
  • Podemos usar o for para percorrer os caracteres de uma string (texto) de forma direta.
  • A função range() cria intervalos numéricos, muito úteis para fazer o loop rodar um número fixo de vezes.
  • Diferente do while, o for controla sua própria atualização e parada automaticamente, o que evita o risco de criarmos loops infinitos acidentais.