Aula 8: Laço de Repetição `for`

Iterando sobre elementos e sequências.

O Que Você Vai Aprender

Nesta aula de 2 horas, você aprenderá sobre outro tipo poderoso de laço de repetição: o laço `for`. Descobrirá como ele é ideal para percorrer coleções de itens, como textos e listas, e como a função `range()` pode te ajudar a criar sequências numéricas para seus loops.

🔄 Laço `for`

Aprender a sintaxe e o funcionamento do laço `for` para iterar sobre elementos.

🆚 `for` vs `while`

Entender quando usar `for` em vez de `while` para diferentes cenários de repetição.

📚 Iterar sobre Sequências

Aprender a percorrer strings, listas e outras coleções de dados elemento por elemento.

🔢 Função `range()`

Dominar o uso da função `range()` para gerar sequências de números para seus laços.

O Laço `for`: Iterando sobre Coleções

Enquanto o `while` repete enquanto uma condição é verdadeira, o `for` é perfeito para percorrer cada item de uma sequência (como textos, listas ou intervalos de números). Ele simplifica a repetição quando você sabe o número de iterações ou tem uma coleção de itens para processar.

Sintaxe

for variavel_temporaria in sequencia:
    # código a ser executado para cada item na sequência

A `variavel_temporaria` receberá o valor de cada item da `sequencia` a cada iteração.

Exemplo: Iterando sobre uma Lista

frutas = ["maçã", "banana", "laranja"]
for fruta in frutas:
    print(f"Eu gosto de {fruta}")

Iterando sobre Sequências: Explorando os Elementos

Uma das grandes vantagens do `for` é sua capacidade de percorrer strings (sequências de caracteres) e listas (coleções de itens) de forma elegante e eficiente. Cada caractere de uma string ou cada item de uma lista pode ser acessado em uma iteração do laço.

Iterando Strings

Cada letra de uma palavra pode ser tratada individualmente por um laço `for`.

palavra = "Python"
for letra in palavra:
    print(letra)

Iterando Listas (ou outras coleções)

O `for` é a ferramenta perfeita para processar cada item em uma lista.

cores = ["vermelho", "azul", "verde"]
for cor in cores:
    print(f"Minha cor favorita é {cor}.")

Simulador: Iterador de Palavras

Digite uma palavra e veja cada letra sendo impressa separadamente.

A Função `range()`: Gerando Sequências Numéricas

A função `range()` é um grande aliado do laço `for` quando você precisa repetir algo um número específico de vezes ou iterar sobre uma sequência de números. Ela gera uma sequência de números, mas não uma lista completa na memória, o que a torna muito eficiente.

`range(fim)`

Gera números de 0 até `fim - 1`.

for i in range(5):
    print(i)
# Saída: 0, 1, 2, 3, 4

`range(inicio, fim)`

Gera números de `inicio` até `fim - 1`.

for i in range(1, 6):
    print(i)
# Saída: 1, 2, 3, 4, 5

`range(inicio, fim, passo)`

Gera números de `inicio` até `fim - 1`, pulando de `passo` em `passo`.

for i in range(2, 11, 2):
    print(i)
# Saída: 2, 4, 6, 8, 10

Exemplo: Tabuada

numero = 7
for i in range(1, 11):
    print(f"{numero} x {i} = {numero * i}")

Simulador: Gerador de Sequência `range()`

Insira os valores para `inicio`, `fim` e `passo` e veja a sequência gerada.

Desafios para Continuar

Agora que você conhece o poderoso laço `for`, é hora de praticar! Resolva estes desafios no seu ambiente de desenvolvimento Python para solidificar seu aprendizado.

  • Iterar Letras de uma Palavra

    Crie um programa que:

    • Pede uma palavra ao usuário.
    • Usa um laço `for` para imprimir cada letra da palavra em uma linha separada.

  • Soma de Números com `range()`

    Crie um programa que:

    • Usa um laço `for` com a função `range()` para iterar sobre todos os números de 1 a 100.
    • Calcula a soma de todos esses números.
    • Imprime o resultado final da soma.