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?
- O Python cria uma variável temporária chamada
letra. - Na primeira volta do loop,
letrarecebe o valor"P"e o exibe na tela. - Na segunda volta,
letrarecebe"Y"e o exibe. - Isso se repete para as letras
"T","H","O"e"N". - 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
forserve 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
forpara 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, oforcontrola sua própria atualização e parada automaticamente, o que evita o risco de criarmos loops infinitos acidentais.