Pular para o conteúdo
Arquivo vivo · 100% gratuito · conteúdo versionado e revertível
Instituto Lúcia

Programação · Ensino médio · aula 5 de 7 · ~2 min de leitura

Laços em Python: while e for

Como repetir instruções sem copiar e colar, e como evitar o laço que nunca termina.

Esta aula ainda aguarda revisão da comunidade. Achou um erro? Sugira uma correção.

Repetir com while

while quer dizer "enquanto". O bloco é repetido enquanto a condição for verdadeira:

contador = 1
while contador <= 5:
    print(contador)
    contador = contador + 1
print("Acabou!")

Testar este código →

A cada volta, o Python testa a condição. A linha contador = contador + 1 é essencial: sem ela, o contador ficaria em 1 para sempre e o laço nunca terminaria. Isso se chama laço infinito. Na ferramenta do site, um programa assim é interrompido depois de 15 segundos.

Um jeito mais curto de escrever a mesma soma é contador += 1.

Repetir com for

Quando você sabe quantas vezes quer repetir, o for é mais simples. Ele percorre uma sequência, e a função range cria sequências de números:

for numero in range(5):
    print(numero)

Testar este código →

Saem os números 0, 1, 2, 3 e 4: range(5) começa no zero e para antes do 5. Para escolher o começo, passe dois valores; para escolher o passo, três:

for numero in range(1, 6):
    print(numero)

for par in range(0, 11, 2):
    print(par)

Testar este código →

Quantas vezes o bloco de "for i in range(2, 8):" é executado?

Acumuladores

Um padrão que aparece o tempo todo: uma variável que vai somando a cada volta.

total = 0
for numero in range(1, 101):
    total = total + numero
print(total)

Testar este código →

O programa soma os números de 1 a 100 e mostra 5050.

A tabuada

n = int(input("Tabuada de qual número? "))
for i in range(1, 11):
    print(f"{n} x {i} = {n * i}")

Testar este código →

break e continue

  • break sai do laço na hora;
  • continue pula o resto da volta atual e vai para a próxima.
for numero in range(1, 11):
    if numero == 4:
        continue
    if numero == 8:
        break
    print(numero)

Testar este código →

Saem 1, 2, 3, 5, 6 e 7: o 4 foi pulado e, no 8, o laço acabou.

Qual usar?

  • for: quando a quantidade de repetições é conhecida ("dez vezes", "para cada item da lista").
  • while: quando depende de algo que acontece no caminho ("até a pessoa acertar", "enquanto houver saldo").

Para praticar

  1. Mostre os números de 10 a 1, em contagem regressiva (dica: o passo de range pode ser negativo).
  2. Some todos os números pares de 1 a 50.
  3. Calcule o fatorial de um número digitado (5! = 5 × 4 × 3 × 2 × 1).

Teste o que você aprendeu

  1. 1. Quais números range(5) produz?

  2. 2. O que causa um laço infinito com while?

  3. 3. O que o comando break faz?

Fontes desta aula

Por Instituto Lúcia · Última alteração em 08/10/2026 · 1 versão guardada · Licença CC BY-SA 4.0

Sugerir correçãoTexto puroDenunciar