Ciclos em Python: aprendendo a utilizar loops na construção de códigos

Daniel Siqueira
Daniel Siqueira

Compartilhe

A função dos ciclos em Python é fazer com que um programa realize repetidamente uma tarefa sem precisar escrever um mesmo conjunto de instruções várias vezes. 

O uso de ciclos faz com que nossos programas sejam mais organizados, dinâmicos e coerentes, principalmente quando lidamos com listas, dados ou execuções repetitivas.

Se você está dando os primeiros passos em sua jornada no mundo do desenvolvimento com Python, está no lugar certo. 

Neste artigo, vamos explicar o que são os ciclos em Python, os principais tipos de loops (for e while), como controlá-los com comandos como break e continue, e mostrar vários exemplos práticos.

Ao final, você ainda vai descobrir como continuar seus estudos acessando cursos aqui na plataforma para aprofundar seu aprendizado em Python.

O que são ciclos e loops em Python?

Em programação, um ciclo (ou loop) é um recurso que permite repetir uma ou mais instruções automaticamente

Em vez de escrever o mesmo código várias vezes, usamos ciclos para executar um bloco de código enquanto uma condição for verdadeira.

Essa repetição é bastante utilizada em situações como percorrer os itens de uma lista, mostrar uma mensagem várias vezes ou ler dados de arquivos linha por linha.

Em Python, temos duas formas de ciclos: o for e o while, que funcionam de maneiras diferentes, mas com o mesmo objetivo: repetir um conjunto de instruções enquanto uma determinada condição for atendida. 

Vamos conhecer agora esses dois principais tipos de ciclos e como usá-los na construção de códigos.

Loop for

O for é utilizado para percorrer sequências, como listas, tuplas, strings e dicionários. É um tipo de loop bastante comum em Python, pois permite repetir um bloco de código para cada item da sequência, automaticamente.

Vamos analisar um exemplo simples:

nomes = ["Carla", "Ana", "Bernardo"]
for nome in nomes:
    print("Olá,", nome)

A saída será:

Olá, Carla  
Olá, Ana  
Olá, Bernardo

Loop while

O while é uma estrutura de repetição que executa um bloco de código enquanto uma condição for verdadeira. 

Diferente do for, que percorre uma sequência conhecida, o while é mais flexível e costuma ser usado quando não sabemos ao certo quantas vezes o código deve ser repetido.

Vamos analisar um exemplo de uso do while no trecho de código abaixo:

contador = 0
while contador < 3:
    print("Contador:", contador)
    contador += 1

A saída desse código será:

Contador: 0  
Contador: 1  
Contador: 2

Nesse exemplo, a variável contador começa com o valor 0. Enquanto ela for menor que 3, o bloco dentro do while será executado. 

A cada repetição, o valor de contador é incrementado em 1, até que a condição contador < 3 deixe de ser verdadeira.

Importante: se a condição nunca for falsa, o loop while se repetirá indefinidamente. Uma situação indesejada que conhecemos como loop infinito. 

Por isso, é essencial garantirmos que a condição de parada esteja corretamente definida.

Loops aninhados

Também podemos utilizar um loop dentro de outro loop, criando uma estrutura conhecida como loops aninhados. 

Utilizamos essa técnica quando precisamos percorrer estruturas de dados compostas, como listas de listas (matrizes), ou repetir uma operação para cada combinação possível de elementos.

Vamos analisar um exemplo simples em que usamos dois loops for aninhados para percorrer uma matriz 2x2:

matriz = [[1, 2], [3, 4]]
for linha in matriz:
    for elemento in linha:
        print(elemento)

A execução do código resultará na saída:

1  
2  
3  
4

Nesse exemplo, o primeiro for percorre cada linha da matriz (que é uma lista de listas), e o segundo for percorre os elementos de cada linha.

É importante destacar que o uso de loops aninhados exige cautela: quando aplicados a grandes volumes de dados, podem impactar o desempenho do código. 

Em programas mais complexos, torna-se fundamental considerar formas de otimizar essas estruturas.

Banner da Imersão Agentes de IA da Alura com Google Gemini. Participe de 3 aulas gratuitas online, com certificado, para você aprender a criar agentes de IA que pensam por você! Inscreva-se agora e garanta a sua vaga e participe de uma comunidade exclusiva no discord!

Controle de fluxo em loops

Durante a execução de um loop, pode ser necessário interromper a repetição antes do previsto ou pular uma iteração específica. 

Nesses casos, os comandos break e continue permitem tornar os ciclos mais flexíveis e adaptáveis às regras definidas no programa.

Comando break

Utilizado para encerrar um loop imediatamente, mesmo que a condição ainda seja verdadeira (no caso do while) ou que ainda existam itens na sequência (no caso do for).

Podemos entender melhor sua aplicação no exemplo:

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

A saída será:

0  
1  
2  
3  
4

Observe que o for deveria percorrer os números de 0 a 9. No entanto, ao encontrar o valor 5, o break interrompe o loop e nenhuma outra iteração é executada.

Comando continue

Por outro lado, o comando continue é usado quando queremos pular uma determinada repetição do loop sem encerrar o ciclo por completo

Ao ser executado, ele interrompe apenas a iteração atual e faz com que o programa avance diretamente para a próxima.

Exemplo:

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

Saída:

0  
1  
3  
4

Note que ao chegar no número 2, o comando continue faz com que o print() seja ignorado, e o loop segue diretamente para o próximo número.

Uso da função range() em loops

A função range() é comumente utilizada em loops for para gerar uma sequência de números

Essa função permite controlar de onde começar, onde parar e de quanto em quanto avançar, tornando-a uma ferramenta estratégica na criação de estruturas de repetição.

Sintaxe:

range(início, fim, passo)
  • início: número onde a contagem começa (opcional — se omitido, começa em 0)
  • fim: número onde a contagem termina (não incluído)
  • passo: valor de incremento entre os números (opcional, o incremento padrão é 1).

Exemplo de uso:

for i in range(1, 10, 2):
    print(i)

Saída:

1  
3  
5  
7  
9

Nesse exemplo, o range(1, 10, 2) gera uma sequência que começa em 1, vai até 9 (sem incluir o 10), e avança de 2 em 2.

Quando usamos apenas range(5), o Python entende que a sequência começa em 0 e vai até 4, ou seja, cinco repetições no total:

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

Saída:

0  
1  
2  
3  
4

Outros exemplos de uso de loops

Iteração em listas

Uma das formas mais comuns de usar loops é para percorrer listas e realizar alguma operação com cada elemento.

Veja o exemplo abaixo:

numeros = [10, 20, 30]
for n in numeros:
    print(n * 2)

Saída:

20  
40  
60

Nesse caso, o loop percorre cada número da lista numeros e imprime o valor multiplicado por 2.

Compreensão de listas (List Comprehensions)

A compreensão de lista é uma forma mais compacta e expressiva de criar novas listas a partir de ciclos. 

Em vez de escrever um for tradicional com várias linhas, podemos escrever tudo em uma única linha, com uma sintaxe simples, como no exemplo abaixo:

quadrados = [x**2 for x in range(5)]
print(quadrados)

Saída:

[0, 1, 4, 9, 16]

Essa linha de código cria uma nova lista com os quadrados dos números de 0 a 4.

A compreensão de listas torna o código mais limpo, legível e conciso. Sendo especialmente utilizada em tarefas como filtrar dados, transformar valores e criar novas listas a partir de coleções existentes.

Conclusão

Os ciclos em Python permitem repetir instruções de forma automatizada, facilitando tarefas como percorrer listas, controlar execuções e manipular dados. 

Ao longo deste artigo, vimos os principais tipos de loops (for e while), aprendemos a usar comandos de controle como break e continue, exploramos a função range() e ainda conhecemos exemplos práticos, como iteração em listas e compreensão de lista.

Compreender bem esses conceitos, é fundamental para escrever códigos mais claros, organizados e eficientes. 

Essas habilidades são muito valorizadas em áreas como ciência de dados, desenvolvimento de software, automação e análise de dados com Python.

Aqui, na Alura, temos diversos cursos e formações para você se desenvolver em áreas como Programação, Dados e Inteligência Artificial. Confira algumas recomendações:

[Formação Matemática para Programação e Dados]: entenda os fundamentos matemáticos que dão suporte à programação, análise de dados e algoritmos.

Daniel Siqueira
Daniel Siqueira

Daniel é instrutor na escola de Dados e professor de Matemática, Física, Química e Inglês. Tem verdadeira paixão em aprender coisas e assuntos novos, e transmitir seus conhecimentos.

Veja outros artigos sobre Data Science