Ciclos em Python: como funcionam os loops For e While e como fazê-los

Última atualização
20 ago 2023
Tempo de leitura
7 min
Ciclos em Python

Neste artigo você vai aprender o essencial sobre os loops For e While em Python, como eles funcionam e para que servem.

Python para Análise de Dados

Economize R$320 na compra do seu curso. Use o código copied blog2024 e comece a aprender!

Aprenda uma das linguagens de programação mais versáteis e acessíveis da área de analytics e manuseie, de forma automatizada, grandes quantidades de dados. Com esta ferramenta poderosa você irá agilizar seu trabalho, integrar seus sistemas e processar dados mais rapidamente e em diferentes formatos.

2 meses
12x de
R$ 142,17
(parcelas sem juros no cartão de crédito)
Investimento pelo curso completo
R$ 1.706
R$ 2.843
Inscreva-se no curso

Geralmente, o código em Python é executado de forma sequencial, ou seja, começa com a primeira linha, passa para a segunda e assim por diante. No entanto, há casos em que um trecho de código precisa ser repetido. O Python tem ferramentas chamadas loops para facilitar essa tarefa. Os loops permitem que você altere o fluxo linear do programa para repetir uma parte do código quantas vezes forem necessárias.

O que são loops em Python?

Primeiro, vamos esclarecer o termo iterar, que significa “executar uma ação várias vezes”, e cada repetição é chamada de iteração. Os loops servem para que os programas implementem iterações, ou seja, executem o mesmo bloco de código duas ou mais vezes enquanto a condição declarada é completada. Quando a condição se torna falsa, o programa sai do loop e continua a ser executado de forma sequencial.

O que são loops em Python

Fonte: Freepik

O fluxo de execução é o seguinte:

  1. Avalia a condição, definindo se ela é verdadeira ou falsa (True ou False).
  2. Se a condição for verdadeira, executa o corpo e retorna à etapa 1.
  3. Se a condição for falsa, sai do loop e continua para a próxima instrução.

Python conta com dois tipos fundamentais de loops:

  • While, aqueles que têm um número indefinido de iterações,
  • For, aqueles que têm um número definido de iterações.

Loop while

Uma forma de iteração em Python é a instrução while, que permite repetir a execução de um bloco de código, sempre que a condição do loop seja verdadeira.

A sintaxe é muito simples:

while <condição>:
<bloco de código>

O código no corpo do loop deve alterar uma ou mais variáveis até que a condição resulte falsa e o loop termine. Neste exemplo, a variável de iteração altera o valor do parâmetro cada vez que o ciclo é executado e controla quando finaliza o ciclo.

x = 5
while x > 0:
x -= 1
print(x)
print('PUM!')
4
3
2
1
0
Pum!

Em Python pode-se indicar uma operação alternativa pela instrução else no final do loop while. O trecho de código dentro de else será executado quando a condição de loop não retornar mais True, ou seja, até que a condição de loop não seja mais completada.

x = 5
while x > 0:
x -= 1
print(x)
else:
print('Fim do loop')
4
3
2
1
0
Fim do loop

Se não há nenhuma variável de iteração que determine quantas vezes é preciso executar um loop e a condição permanecer verdadeira, a mesma parte do código se repetirá para sempre, resultando em um loop infinito. Normalmente, loops infinitos se devem a erros e devem ser evitados para não perder o controle do programa.

x = 5
while x > 0:
print('Ao infinito e além!')
Ao infinito e além!
Ao infinito e além!
Ao infinito e além!
…

Fonte: Unsplash

Loop For

A instrução for forma um loop definido que percorre os elementos de uma coleção de dados ou uma sequência ordenada, como listas, dicionários, tuplas, strings, etc. O loop fará tantas iterações quantos elementos existirem na sequência.

O loop for em Python tem a seguinte sintaxe:

for <variable> in <sequência>:
<bloco de código>

Por exemplo, para iterar os elementos da lista “idiomas” com um loop for é designado “idioma” a uma variável que representará os elementos da lista em cada repetição.

O loop for em Python tem a seguinte sintaxe:

idiomas = ['Árabe', 'Inglês', 'Francês', 'Espanhol']
índice = 0
for idioma in idiomas:
print ('Este idioma está na lista: ' + idiomas[índice])
índice += 1
Este idioma está na lista: Árabe
Este idioma está na lista: Inglês
Este idioma está na lista: Francês
Este idioma está na lista: Espanhol

O loop for com cadeias tipo string funciona da mesma forma, mas com caracteres no lugar dos elementos:

cadeia = 'Python'
for caractere em cadeia:
print(caractere)
P
y
t
h
o
n

Assim como no loop while, pode ser usada a instrução else para acrescentar uma ação adicional ao finalizar o loop. Veja um exemplo com a função range():

for x in range(5):
print(x)
else:
print('Fim do loop')
0
1
2
3
4
Fim do loop

Loops aninhados

O Python permite aninhar loops colocando um dentro do outro. Isso pode ser útil para resolver problemas mais complexos: por exemplo, se você quiser iterar algum objeto em que cada elemento tenha outra classe iterável, como uma lista de listas.

lista = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]

Para acessar cada elemento individualmente, você pode aninhar dois loops for. O primeiro será responsável por iterar as listas aninhadas, e o outro, seus elementos.

for a in lista:
for b in a:
print(b)
1
2
3
4
5
6
7
8
9

Da mesma forma, você pode aninhar um loop while. Por exemplo, pode ajudá-lo se você quiser gerar todas as combinações possíveis de dois números:

a = 0
b = 0
while a < 3:
while b < 3:
print(a,b)
b += 1
a += 1
b = 0
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2

Como os loops são controlados em Python?

Fonte: Burst

Usando certas instruções, você pode interromper o fluxo de execução de um loop, se necessário. A instrução break “quebra” o loop a qualquer momento, mesmo quando a condição segue sendo verdadeira. No exemplo a seguir, o loop for percorre todos os números no intervalo de 0 a 4, mas o programa termina quando o número é definido como 3:

for x in range(5):
if x == 3:
break
print (x)
0
1
2

O mesmo acontece com o loop while: ao receber uma entrada determinada, o programa sai do loop e avança para a próxima linha de código:

while True:
resposta = input('> ')
if resposta == 'sair':
break
else:
print(resposta)
print ('Tchau!')
> Oi!
Oi!
> Como vai?
Como vai?
> sair
Tchau!

A instrução continue termina a iteração atual independentemente do código abaixo dela e retorna ao início do loop.

x = 0
while x < 5:
x += 1
if x == 3:
continue
print(x)
1
2
4
5

No exemplo abaixo, quando o valor atingir ‘y’, o programa voltará para o loop for sem executar a última linha de print e sem sair do loop:

for caráter in 'Python': 
if caractere == 'y':
continue
print ('A letra é:', caractere)
A letra é: P
A letra é: t
A letra é: h
A letra é: o
A letra é: n

Por fim, é preciso mencionar a instrução pass. Quando a execução de um loop atinge a instrução pass, ela simplesmente se move para a próxima instrução sem modificar o fluxo estabelecido. Normalmente, ele é usado para reservar espaço, se no momento de escrever um código houver uma parte que ainda não está concluída:

for x in range(1, 5):
if x == 2:
pass
print (x)
1
2
3
4

Para aprender mais e dominar a linguagem Python em nível profissional, a EBAC oferece o curso online Python para Análise de Dados. Em apenas 2 meses, você vai começar a programar do zero, aprendendo a gerenciar listas e estruturas de dados, bem como a visualizar e a publicar sua análise de dados. Você terá atividades práticas, no seu ritmo, de qualquer lugar, com feedback individualizado de um tutor. Poderá aplicar seu aprendizado em um projeto profissional, que vai enriquecer seu portfólio. Ao final do curso, você vai receber um certificado e acesso vitalício à plataforma.

Fica ligado: a EBAC realiza webinars semanais que são abertos ao público e são gratuitos. Os eventos contemplam diversas áreas, inclusive a de Programação & Data. Aproveite para enriquecer os seus conhecimentos. Confira os eventos que já aconteceram e aproveite para se inscrever nos próximos!

Página inicial / Programação & Data
Equipe EBAC

O conteúdo

Python para Análise de Dados

Economize R$320 na compra do seu curso. Use o código copied blog2024 e comece a aprender!

Aprenda uma das linguagens de programação mais versáteis e acessíveis da área de analytics e manuseie, de forma automatizada, grandes quantidades de dados. Com esta ferramenta poderosa você irá agilizar seu trabalho, integrar seus sistemas e processar dados mais rapidamente e em diferentes formatos.

2 meses
12x de
R$ 142,17
(parcelas sem juros no cartão de crédito)
Investimento pelo curso completo
R$ 1.706
R$ 2.843
Inscreva-se no curso
Compartilhe sua opinião
Notificar sobre comentários

Ou como convidado

Cadastre-se Cadastre-se Cadastre-se Cadastre-se Cadastre-se

Artigos Relacionados

14 linguagens de programação mais difíceis de aprender

Será que a linguagem que você está aprendendo está entre as mais difíceis?

11 out 2024
5 min
11 out 2024
9 min
O que é um Dashboard e como fazer um?

Descubra o que é um dashboard, para que serve, os tipos e ferramentas de criação, e como criar o seu.

11 out 2024
9 min
09 out 2024
8 min
Engenheiro de Nuvem: o que faz, habilidades e salário

Entenda quem é o Cloud Engineer e como se tornar um!

09 out 2024
8 min
Analista de Segurança da Informação: o que faz, habilidades e salário

Como se tornar um analista de segurança da informação: salário, habilidades e mais

09 out 2024
11 min
Scrum Master: o que faz, habilidades e salário

Entenda quem é o Scrum Master e como se tornar um!

09 out 2024
8 min
21 jun 2024
8 min
Da arquitetura para a ciência de dados

Após passar por diversas experiências profissionais, o estudante da EBAC, Paulo Brunini, de 43 anos, está focado em entrar na área de ciência de dados. Confira como foi a sua trajetória até aqui!

21 jun 2024
8 min