Pular para o conteúdo

A primeira escola especializada em tecnologia do Alto Solimões, com corpo técnico formado na área.

Módulo 3: Estruturas de Controle

Loop For com Range

Repetições controladas com for e range()

O que é o for com range?

O for repete um bloco de código um número determinado de vezes. Junto com range(), você controla exatamente quantas repetições quer, de onde começar e de quanto em quanto pular.

Pense no range() como um gerador de sequências numericas. Você define início, fim e passo, e ele entrega os números um por um para o for.

range com um argumento

Quando você passa só um número, o range começa em 0 e vai até esse número (sem incluir ele):

for i in range(5):
print(i, end=" ")
# → 0 1 2 3 4

Se não precisa da variável do loop, use _:

for _ in range(3):
print("Python!")
# → Python!
# → Python!
# → Python!

range com dois argumentos

Aqui você define o início é o fim. O início e incluso, o fim e exclusivo:

for i in range(1, 6):
print(i, end=" ")
# → 1 2 3 4 5

range com três argumentos

O terceiro argumento é o passo -- de quanto em quanto pular:

# Pares de 0 a 10
for i in range(0, 11, 2):
print(i, end=" ")
# → 0 2 4 6 8 10

# Impares de 1 a 9
for i in range(1, 11, 2):
print(i, end=" ")
# → 1 3 5 7 9

Contagem regressiva

Com passo negativo, você conta de tras para frente:

for i in range(10, 0, -1):
print(i, end=" ")
print("Lancar!")
# → 10 9 8 7 6 5 4 3 2 1 Lancar!

Acumuladores

Um padrão super comum: usar uma variável para ir somando ou multiplicando a cada volta do loop.

# Somar de 1 a 100
soma: int = 0
for i in range(1, 101):
soma += i
print(f"Soma: {soma}") # → Soma: 5050
# Fatorial (5! = 5 x 4 x 3 x 2 x 1)
n: int = 5
fatorial: int = 1
for i in range(1, n + 1):
fatorial *= i
print(f"{n}! = {fatorial}") # → 5! = 120

Loops aninhados

Um for dentro de outro. O loop interno roda completo a cada volta do externo:

# Tabuada do 1 ao 3
for i in range(1, 4):
print(f"\n--- Tabuada do {i} ---")
for j in range(1, 11):
print(f"{i} x {j:2d} = {i * j:3d}")
# Padrão de asteriscos
n: int = 5
for i in range(1, n + 1):
print("*" * i)
# → *
# → **
# → ***
# → ****
# → *****

While -- repetição com condição

Diferente do for, o while repete enquanto uma condição for verdadeira:

contador: int = 1
while contador <= 5:
print(f"Contagem: {contador}")
contador += 1
# → Contagem: 1
# → Contagem: 2
# → Contagem: 3
# → Contagem: 4
# → Contagem: 5

Exercício prático

Use for e range() para:

  1. Imprimir todos os multiplos de 3 entre 1 e 50
  2. Calcular a soma dos números pares de 1 a 100
  3. Criar uma contagem regressiva de 20 até 1 pulando de 2 em 2
# 1. Multiplos de 3: use range(3, 51, 3)

# 2. Soma dos pares: acumulador + range(2, 101, 2)

# 3. Contagem regressiva: range(20, 0, -2)

Referências

Testa o que você leu

4 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.

Pergunta 1 de 4
O que `range(5)` gera?