continuous learning company
Voltar para publicações
Ana Clara
ana clara castro

Loops em Python: Como Repetir Tarefas sem Repetir Código

Entenda for, while, break e continue com exemplos simples e veja onde os loops aparecem no dia a dia do desenvolvimento.

18/09/2026 Desenvolvimento
Infográfico Loops em Python: como repetir tarefas sem repetir código, com exemplos de for, while, break e continue, usos na prática e um resumo final

Imagine que você precisa cumprimentar 100 pessoas pelo nome. Você escreveria print() 100 vezes? Claro que não. É exatamente para isso que existem os loops (ou laços de repetição): menos código, mais produtividade.

Um loop é uma estrutura que permite repetir um bloco de código várias vezes, seguindo uma determinada regra. Em Python, os dois principais são o for e o while, e dois comandos ajudam a controlá-los: break e continue. Neste artigo, vamos ver cada um deles com exemplos curtos e resultados na tela.

Uma Analogia do Dia a Dia

Pense em um caixa de supermercado:

  • for: "para cada cliente da lista de hoje, faça o atendimento". Você sabe quem vai atender, e o trabalho termina quando a lista acaba.
  • while: "enquanto houver cliente na fila, continue atendendo". Você não sabe quantos serão, e continua enquanto a condição for verdadeira.
  • break: o caixa avisa "encerrei o expediente" e para tudo, mesmo que ainda haja gente na fila.
  • continue: o cliente esqueceu a carteira, então o caixa pula esse atendimento e chama o próximo.

Por Que Precisamos de Loops?

Veja o que acontece sem um loop:

print("Ana")
print("João")
print("Maria")

Com 3 nomes, tudo bem. Com 3.000, é inviável. Com um loop, o código continua do mesmo tamanho, não importa a quantidade de nomes:

nomes = ["Ana", "João", "Maria"]

for nome in nomes:
    print(nome)

Resultado:

Ana
João
Maria

1. O Loop for

O for é usado para percorrer uma sequência de elementos (uma lista, um texto, um dicionário) ou para repetir uma quantidade determinada de vezes.

Lendo o exemplo acima em português: "para cada nome dentro da lista nomes, imprima o nome". A cada volta, a variável nome assume o próximo item da lista. O bloco que se repete fica indentado (com recuo) logo abaixo do for.

Repetindo N vezes com range()

Quando você quer repetir algo um número específico de vezes, use a função range():

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

Resultado:

0
1
2
3
4

Repare que o range(5) começa no 0 e termina no 4: ele gera 5 números, mas não inclui o 5. Você também pode escolher onde começar, onde parar e o tamanho do passo:

  • range(5) gera 0, 1, 2, 3, 4
  • range(1, 6) gera 1, 2, 3, 4, 5
  • range(0, 10, 2) gera 0, 2, 4, 6, 8 (de 2 em 2)

Percorrendo um dicionário

Com dicionários, o método .items() entrega a chave e o valor de uma vez:

notas = {"Ana": 9, "João": 7, "Maria": 8}

for nome, nota in notas.items():
    print(f"{nome} tirou {nota}")

Resultado:

Ana tirou 9
João tirou 7
Maria tirou 8

Exemplo prático: somando uma compra

compras = [25.50, 10.00, 42.90]
total = 0

for valor in compras:
    total += valor

print(f"Total: R$ {total:.2f}")

Resultado:

Total: R$ 78.40

Aqui, a variável total começa em zero e vai acumulando cada valor da lista. Esse padrão de "acumular dentro do loop" é um dos mais usados em programação.

2. O Loop while

O while repete enquanto uma condição for verdadeira. Ele é ideal quando você não sabe de antemão quantas repetições serão necessárias.

contador = 1

while contador <= 5:
    print(contador)
    contador += 1

Resultado:

1
2
3
4
5

Como Funciona?

  • O Python verifica a condição contador <= 5.
  • Se for verdadeira, executa o bloco (imprime e soma 1 ao contador).
  • Volta ao início e verifica a condição de novo.
  • Quando a condição vira falsa (o contador chega a 6), o loop termina.

Cuidado com o Loop Infinito

Se a condição nunca ficar falsa, o loop nunca termina. Isso costuma acontecer quando esquecemos de atualizar a variável da condição:

contador = 1

while contador <= 5:
    print(contador)
    # Esqueceu o "contador += 1": o valor nunca muda
    # e o programa imprime 1 para sempre

Se isso acontecer no seu terminal, pressione Ctrl + C para interromper o programa. Antes de rodar um while, sempre pergunte: "o que vai fazer essa condição virar falsa?"

For ou While: Qual Usar?

  • Use for quando você tem uma sequência para percorrer ou sabe quantas vezes vai repetir.
  • Use while quando a repetição depende de uma condição que pode mudar a qualquer momento (como esperar o usuário digitar a resposta certa).

Na dúvida, prefira o for: ele é mais difícil de errar, porque termina sozinho quando a sequência acaba.

3. O Comando break

O break interrompe o loop antes que ele termine. Assim que o Python encontra o break, ele sai do loop e segue para o código que vem depois.

for numero in range(10):
    if numero == 5:
        break
    print(numero)

Resultado:

0
1
2
3
4

O loop pararia no 9, mas, quando o número chega a 5, o break encerra tudo (por isso o 5 nem chega a ser impresso).

Exemplo prático: procurando um item

produtos = ["caneta", "caderno", "lápis", "borracha"]

for produto in produtos:
    if produto == "lápis":
        print("Encontrei o lápis!")
        break

Resultado:

Encontrei o lápis!

Depois de encontrar o que procurava, não faz sentido continuar olhando o resto da lista. O break economiza trabalho.

Exemplo prático: while com break

O break também é muito usado para sair de um while quando algo acontece, como o usuário acertar a senha:

senha_correta = "python123"
tentativas = 0

while tentativas < 3:
    senha = input("Digite a senha: ")

    if senha == senha_correta:
        print("Acesso liberado!")
        break

    tentativas += 1
    print("Senha incorreta.")

Exemplo de execução:

Digite a senha: abc
Senha incorreta.
Digite a senha: python123
Acesso liberado!

4. O Comando continue

O continue pula a execução atual e continua o loop: o restante do bloco é ignorado, mas o loop segue para a próxima volta.

for numero in range(5):
    if numero == 2:
        continue
    print(numero)

Resultado:

0
1
3
4

Nesse caso, o número 2 não será impresso, mas o loop não para: ele simplesmente pula para o 3.

Diferença entre break e continue

  • break: "chega, pode parar tudo". O loop termina de vez.
  • continue: "esse aqui não, próximo!". Só a volta atual é pulada.

Loops Aninhados: Um Loop Dentro do Outro

É possível colocar um loop dentro de outro. Para cada volta do loop de fora, o loop de dentro roda por completo. Um exemplo clássico é a tabuada:

for i in range(1, 4):
    for j in range(1, 4):
        print(f"{i} x {j} = {i * j}")

Resultado:

1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9

Na Prática: Onde os Loops Aparecem?

Loops aparecem o tempo todo no desenvolvimento. Alguns usos comuns:

  • Percorrer listas e dicionários;
  • Processar dados;
  • Analisar transações;
  • Trabalhar com respostas de APIs;
  • Automatizar tarefas;
  • Processar registros de um banco de dados.

Exemplo prático: analisando transações

Um sistema precisa destacar as transações com valor acima de R$ 1.000 para revisão:

transacoes = [120.00, 89.90, 15000.00, 45.00, 3200.00]
suspeitas = 0

for valor in transacoes:
    if valor > 1000:
        suspeitas += 1
        print(f"Transação suspeita: R$ {valor:.2f}")

print(f"Total de transações suspeitas: {suspeitas}")

Resultado:

Transação suspeita: R$ 15000.00
Transação suspeita: R$ 3200.00
Total de transações suspeitas: 2

Exemplo prático: lendo a resposta de uma API

APIs costumam devolver listas de itens. Um loop com continue permite ignorar os que não interessam:

resposta = {
    "status": "ok",
    "usuarios": [
        {"nome": "Ana", "ativo": True},
        {"nome": "João", "ativo": False},
        {"nome": "Maria", "ativo": True},
    ],
}

for usuario in resposta["usuarios"]:
    if not usuario["ativo"]:
        continue
    print(f"Usuário ativo: {usuario['nome']}")

Resultado:

Usuário ativo: Ana
Usuário ativo: Maria

O mesmo raciocínio vale para registros de um banco de dados: a consulta devolve várias linhas e um for passa por cada uma delas.

Erros Comuns com Loops

  • Loop infinito: esquecer de atualizar a variável da condição em um while.
  • Erro de "um a mais ou a menos": lembrar que range(5) vai de 0 a 4, e não de 1 a 5.
  • Indentação errada: em Python, o recuo define o que está dentro do loop. Uma linha fora do lugar muda o resultado do programa.
  • Alterar a lista enquanto a percorre: remover ou adicionar itens durante o for pode pular elementos. Prefira criar uma nova lista com o resultado.
  • Usar while quando um for resolve: deixa o código mais longo e mais fácil de errar.

Boas Práticas

  • Use nomes que façam sentido: for produto in produtos é mais claro que for x in y.
  • Prefira for quando houver uma sequência para percorrer.
  • Garanta que todo while tenha uma forma clara de terminar.
  • Evite loops muito longos: se o bloco ficou grande, considere separar em funções.

Exercícios para Praticar

  • Imprima os números de 1 a 10 usando for e range().
  • Some todos os números pares de 1 a 20 (dica: range(2, 21, 2)).
  • Use um while que peça um número ao usuário e só pare quando ele digitar "sair".
  • Dada uma lista de preços, mostre apenas os que estão acima de R$ 50, usando continue para pular os demais.

Resumindo

  • for: percorre elementos ou repete algo de forma controlada.
  • while: repete enquanto uma condição for verdadeira.
  • break: interrompe o loop.
  • continue: pula uma execução e continua o loop.

Conclusão

No começo, loops podem parecer complicados, mas depois viram uma das ferramentas mais úteis do Python. Com for, while, break e continue, você escreve menos código, evita repetição e automatiza tarefas que levariam horas para fazer à mão.

Qual desses exercícios você vai testar primeiro? Conte nos comentários como foi!

Teste seu conhecimento

Responda às perguntas abaixo para revisar os principais pontos deste artigo.

1. Quais números a função range(5) gera em um loop for?

2. Você precisa repetir uma tarefa enquanto o usuário não digitar a resposta correta, sem saber quantas tentativas serão necessárias. Qual estrutura é a mais indicada?

3. Um loop for percorre range(10). Em cada volta, ele verifica se numero == 5 (e, se for, executa break) e só depois imprime numero. O que será impresso?

4. Qual é a diferença entre break e continue?

5. Qual é uma causa comum de loop infinito em um while?

Livros recomendados