Loops: Ensinando o Python a repetir tarefas

Na imagem temos um quadro com borda de madeira. Dentro do quadro temos uma lista de números com o símbolo de repetição e a palavra "for" em volta. Ao lado temos uma pilha de roupas e a palavra "while". O ícone do python está na parte superior esquerda do quadro.

No último post, vimos outros operadores do python para potencializar o uso do if escrevendo condições mais complexas. Agora, vamos dar mais um passo e ensinar o Python a fazer algo repetidamente, sem ter que escrever a mesma linha de código várias vezes.

Sabe quando você escova os dentes? Você repete o mesmo movimento até ter certeza de que eles estão limpos. Na programação, a ideia é a mesma. Você pode pedir ao Python para executar uma ação diversas vezes. É aí que entram os laços de repetição, também conhecidos como loops.

Vamos falar sobre dois tipos: o for e o while.

O laço “for"

Imagine que você precisa contar de um a dez. Você pode escrever dez linhas de código, uma para cada número, ou pode usar o for e deixá-lo fazer a contagem por você. Ele é perfeito para quando você sabe exatamente quantas vezes a ação precisa ser repetida.

Para isso, usamos a função range(). Pense nela como uma espécie de “contador”. Se você pedir range(5), o Python vai contar de 0 até 4 para você.

Aqui está um exemplo:

for numero in range(5):
  print(f"Número atual: {numero}")

Nesse código, o for vai repetir a ação de imprimir uma mensagem por cinco vezes, contando de 0 até 4. Ele garante que você não precise escrever a mesma linha de código cinco vezes!

Mais exemplos com range()

A função range() pode fazer mais do que só contar de zero. Você pode definir o ponto de partida e até o “passo” da contagem.

Definindo o início e o fim: Você pode dizer ao range() para começar de um número diferente de zero. A sintaxe é range(início, fim). Por exemplo, range(1, 6) vai contar de 1 a 5.

for ano in range(2020, 2025):
  print(f"Estamos no ano de {ano}")

Contando de dois em dois: Use o terceiro argumento para definir o “passo” da contagem. A sintaxe é range(início, fim, passo).

for numero_par in range(0, 11, 2):
  print(f"Número par: {numero_par}")

O laço "while

O laço while é um pouco diferente. Pense em passar roupa. Você continua passando até que a pilha de roupas acabe. Não importa se a pilha tem 3 ou 30 camisetas, a tarefa só para quando a condição for falsa (ou seja, quando não houver mais roupas).

O while repete um bloco de código enquanto uma condição for verdadeira.

Veja este exemplo:

roupas_para_passar = 5

while roupas_para_passar > 0:
  print(f"Passando a roupa. Faltam {roupas_para_passar}!")
  roupas_para_passar = roupas_para_passar - 1

print("Ufa! Acabei de passar todas as roupas.")

Aqui, o while continua o trabalho enquanto o número de roupas for maior que zero. Cada vez que uma roupa é passada, a gente diminui o contador (roupas_para_passar). Quando ele chega a zero, a condição se torna falsa e o laço para.

Por que isso é tão importante?

Usar laços de repetição faz com que seu código seja muito mais eficiente e fácil de ler. Em vez de copiar e colar um monte de linhas, você escreve uma vez e deixa o Python cuidar do resto. Isso é a verdadeira magia da automação!

Vamos ver a diferença na prática? Imagine que você precisa mostrar a tabuada do 5, do 1 ao 10.

Tabuada sem loops

# Tabuada do 5
print("5 x 1 =", 5 * 1)
print("5 x 2 =", 5 * 2)
print("5 x 3 =", 5 * 3)
print("5 x 4 =", 5 * 4)
print("5 x 5 =", 5 * 5)
print("5 x 6 =", 5 * 6)
print("5 x 7 =", 5 * 7)
print("5 x 8 =", 5 * 8)
print("5 x 9 =", 5 * 9)
print("5 x 10 =", 5 * 10)

Esse código funciona, mas imagina se você precisar da tabuada do 7? Você teria que mudar o número 5 em todas as 10 linhas! Isso se torna ainda mais complicado se você quisesse a tabuada até o 20. Seria um trabalho enorme e cansativo.

Tabuada com loops

Agora veja a mesma tabuada, mas usando um loop for:

numero_tabuada = 5
quantidade_de_numeros = 10
for multiplicador in range(1, quantidade_de_numeros + 1):
  resultado = numero_tabuada * multiplicador
  print(f"{numero_tabuada} x {multiplicador} = {resultado}")

Nesse exemplo, o for garante que o bloco de código seja executado 10 vezes. Se você precisar da tabuada do 7, é só mudar o valor da variável numero_tabuada para 7. Se precisar ir até o 20, mude a variável quantidade_de_numeros para 20. Muito mais simples, não é?

No próximo post, vamos mergulhar de vez em um dos tópicos mais importantes do Python: as listas de dados. Prepare-se para aprender a armazenar e organizar informações de um jeito super eficiente!

Se você quer aprofundar seus conhecimentos em Python com projetos práticos, temos uma ótima recomendação. O livro que indicamos a seguir usa uma abordagem focada em projetos, perfeita para quem quer aprender fazendo.

Além de desenvolver suas habilidades em Python e criar projetos para o seu portfólio, a compra deste livro pelo nosso link de afiliado nos ajuda a manter o blog e a produzir mais conteúdos de qualidade para você.

“Curso Intensivo de Python: uma Introdução Prática e Baseada em Projetos à Programação”: https://amzn.to/3HWfwfq

Rolar para cima