Domine Loops em Python: For, While, Break, Continue e Enumerate Explicados
Domine Loops em Python: For, While, Break, Continue e Enumerate Explicados
Loops são a espinha dorsal da programação iterativa. Eles permitem executar um bloco de código repetidamente até que uma condição seja atendida. Python oferece dois construtores de loop primários: for (iteradores) e while (baseados em condição).
O que É um Loop?
Um loop executa repetidamente um conjunto de instruções. Em Python, loops são usados para processar coleções, gerar sequências ou executar tarefas até que um critério de parada seja alcançado.
Loops For (Iteradores)
Um loop for itera sobre itens de um iterável — listas, tuplas, strings ou ranges. Ele para automaticamente quando o iterável é esgotado, tornando-o mais seguro que rastrear índices manualmente.
x = 0
for x in range(2, 7):
print(x)
Saída:
2
3
4
5
6
Loops While (Baseados em Condição)
Um loop while repete enquanto uma dada expressão booleana permanece True. É ideal quando o número de iterações não é conhecido antecipadamente.
x = 0
while x < 4:
print(x)
x += 1
Saída:
0
1
2
3
Iterando Sobre Coleções Não Numéricas
Loops for funcionam perfeitamente com strings e outras coleções:
meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun']
for m in meses:
print(m)
Saída:
Jan
Fev
Mar
Abr
Mai
Jun
Saindo de um Loop com Break
A declaração break termina o loop imediatamente. É útil para saída antecipada quando uma condição é atendida.
for x in range(10, 20):
if x == 15:
break
print(x)
Saída:
10
11
12
13
14
Pulando uma Iteração com Continue
A declaração continue pula o restante do corpo do loop para a iteração atual e prossegue para o próximo ciclo.
for x in range(10, 20):
if x % 5 == 0:
continue
print(x)
Saída:
11
12
13
14
16
17
18
19
Usando enumerate() para Loops Indexados
A função embutida enumerate() adiciona um contador a um iterável, retornando pares índice-valor.
meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun']
for i, m in enumerate(meses):
print(i, m)
Saída:
0 Jan
1 Fev
2 Mar
3 Abr
4 Mai
5 Jun
Repetindo uma Declaração Múltiplas Vezes
Você pode usar um loop for sobre uma string de dígitos ou um range para repetir uma mensagem:
for i in '123':
print('guru99', i)
Saída:
guru99 1
guru99 2
guru99 3
Tabela Resumo de Exemplos
| Tipo de Loop | Código |
|---|---|
| While loop | x = 0
while x < 4:
print(x)
x += 1 |
| For loop (numérico) | for x in range(2, 7):
print(x) |
| For loop (string) | meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun']
for m in meses:
print(m) |
| Break em for loop | for x in range(10, 20):
if x == 15:
break
print(x) |
| Continue em for loop | for x in range(10, 20):
if x % 5 == 0:
continue
print(x) |
| Enumerate em for loop | meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun']
for i, m in enumerate(meses):
print(i, m) |
Compatibilidade com Python 2
Os exemplos acima usam sintaxe Python 3. Para Python 2, substitua print() por declarações print e ajuste o comportamento de range adequadamente.
# While loop
x = 0
while x < 4:
print x
x += 1
# For loop
for x in range(2, 7):
print x
# For loop sobre string
meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun']
for m in meses:
print m
# Exemplo break
for x in range(10, 20):
if x == 15:
break
print x
# Exemplo continue
for x in range(10, 20):
if x % 5 == 0:
continue
print x
# Exemplo enumerate
for i, m in enumerate(meses):
print i, m
Para referências mais aprofundadas, consulte o tutorial oficial do Python sobre controle de fluxo.
python
- Dominando Loops While e Do-While em C#: Sintaxe, Exemplos e Boas Práticas
- Dominando Loops For em C#: Sintaxe, Fluxo e Exemplos Práticos
- Instrução Break em C#: Como e Quando Usar
- Dominando a Instrução Continue em C#: Como Pular Iterações de Loop Eficazmente
- Declarações, Indentação e Comentários em Python: Guia Claro
- Dominando a Declaração Pass em Python: Guia Prático
- Verificador de Número Palíndromo em Java: Algoritmos com While e For Loops
- Domine Loops em Python: For, While, Break, Continue e Enumerate Explicados
- Dominando a Função range() do Python: Do Básico ao Avançado
- Dominando enumerate() do Python: Loop com Índices para Listas, Tuplas, Strings e Dicionários