Submódulo 2: Estruturas de repetição: loops for e while
Site: | Lumina |
Curso: | Python para Iniciantes: Lógica e Programação |
Livro: | Submódulo 2: Estruturas de repetição: loops for e while |
Impresso por: | Usuário visitante |
Data: | quarta-feira, 17 set. 2025, 21:06 |
Descrição
Este submódulo aprofunda o uso de estruturas de repetição (for e while) em Python, mostrando como percorrer coleções, controlar o fluxo com break/continue e utilizar else em loops. Ao final, você terá base para resolver tarefas repetitivas com código limpo e seguro, além de preparar um portfólio com exemplos práticos.
Introdução aos Loops: for e while
🎯 Introdução aos Loops: o que são e por que usamos
Vamos entender o que é um loop: uma estrutura que repete um bloco de código várias vezes, até que uma condição seja satisfeita. Em Python, loops são úteis para processar listas, strings e dados que chegam de fontes externas sem precisar repetir código manualmente. A ideia central é transformar situações do mundo real em passos lógicos repetíveis, reduzindo repetição de código e aumentando a confiabilidade do software.

Do ponto de vista prático, há dois grandes tipos de loops em Python: for e while. O for é usado quando sabemos quais itens vamos percorrer (ou quando geramos uma sequência de itens). O while executa enquanto uma condição permanece verdadeira, o que é ideal quando não sabemos de antemão quantas iterações ocorrerão. A escolha entre eles depende do problema: use for para percorrer coleções, use while quando a quantidade de iterações depende de condições durante a execução. (1)(2)
Para começar, vamos revisitar a função range, que costuma acompanhar for para gerar séries numéricas. range produz números de 0 até n-1, e range(a, b) gera de a até b-1. A combinação range-for é uma das formas mais expressivas de se trabalhar com loops em Python. (3)(4)
A seguir, exemplos simples para consolidar o entendimento. Primeiro, percorrer uma lista de nomes e imprimir cada item; depois, somar os números de 1 a 5 usando range. Esses trechos ilustram como o fluxo do programa fica claro quando o loop está bem definido.
nomes = ['Ana', 'Bruno', 'Carla']
for nome in nomes:
print(nome)
# Contagem de 1 a 5
total = 0
for i in range(1, 6):
total += i
print('Soma de 1 a 5:', total)
Loops com coleções: percorrendo listas e strings
🔄 Loops com coleções: listas, strings e controle de fluxo
Agora que já entendemos o básico, vamos aplicar o for a coleções comuns. Uma lista de nomes, uma string ou até um conjunto de chaves em um dicionário podem ser percorridos com for. O que muda é o que cada item representa e quais condições você impõe durante a iteração.

Quando você precisa interromper a execução antes do fim da sequência, usa-se break. Se quiser pular itens que não atendem a uma condição, continue é a ferramenta adequada. Além disso, é possível usar else após o loop para detectar se o laço foi concluído sem interrupção pelo break.
Exemplos simples ajudam a consolidar: percorrer uma lista de nomes e imprimir apenas os que contêm a letra 'a'; percorrer uma string e imprimir cada caractere; detectar a primeira ocorrência de um item que satisfaça uma condição e parar o loop com break. Também veremos como o for pode iterar sobre dicionários, retornando as chaves por padrão.
nomes = ['Ana', 'Bruno', 'Carla', 'Diego']
for n in nomes:
if 'a' in n.lower():
print(n)
# Iterando sobre uma string
texto = 'Python'
for c in texto:
print(c)
frutas = ['maçã', 'banana', 'uva']
for f in frutas:
if f == 'banana':
print(' banana encontrada!')
break
print(f)
Boas práticas, testes e preparação para entrevistas
🧭 Boas práticas, testes e aplicações reais
Vamos consolidar o que aprendemos com foco na clareza, manutenibilidade e preparação para situações reais de trabalho. A ideia é manter o fluxo de loop simples, evitar dependências desnecessárias e documentar as condições de saída. Em termos de cargo de desenvolvedor, a leitura de código é tão importante quanto escrevê-lo: loops devem ser fáceis de entender num relance.
Boas práticas incluem: escolher o tipo de loop adequado para o problema, evitar lógica complexa dentro do corpo do loop, e adicionar comentários que expliquem o porquê das decisões. Em termos de qualidade de software, precisamos também pensar em testabilidade: escrever pequenos testes ou asserts que verifiquem comportamentos esperados do loop, especialmente em casos de entrada variável.
Próximo passo: leve essa base para depuração, portfólio e entrevistas. Por exemplo, um exercício de portfólio poderia ser um script que lê dados de uma lista de clientes, valida entradas e produz um relatório simples com somatórios, contagens e verificações de consistência.
# Função simples para somar números de 1 a N com validação básica
def soma_de_1_a(n):
if n < 1:
raise ValueError('N precisa ser >= 1')
total = 0
for i in range(1, n+1):
total += i
return total
print(soma_de_1_a(10)) # 55
🎯 Exercícios
🎯 Exercícios: Estruturas de repetição: loops for e while
Teste seus conhecimentos com estas questões de múltipla escolha. Cada questão tem apenas uma resposta correta.
Qual afirmação descreve corretamente o uso básico de loops em Python?
Qual é a principal diferença entre o loop for e o loop while em Python?
O que a função range() em Python permite?
Qual afirmação sobre o break em loops é correta?
Qual é a função do bloco else em loops em Python?