PROGRAMA DE CURSO APOSTILA 03 · Estruturas de Repetição
← Início

Estruturas de Repetição

Como fazer o computador repetir tarefas sem reescrever código: laços for e while, a função range() e o controle de fluxo com break e continue — tudo aplicado ao dia a dia da Pizzaria Sabores. 🍕

Apostila 03 for · while range() break · continue Iniciante
1

for — Para percorrer listas e intervalos

O for é usado para iterar sobre os elementos de uma sequência (como listas ou strings) ou para repetir um bloco de código um número determinado de vezes.

Exemplo: listando os sabores de pizza disponíveis

sabores = ["Mussarela", "Calabresa", "Pepperoni", "Quatro Queijos", "Frango com Catupiry"]

print("Sabores disponíveis na Pizzaria Sabores:")
for sabor in sabores:
    print(f"- {sabor}")
✏️ Explicação
  • Criamos uma lista com os sabores de pizza.
  • Usamos um for para percorrer a lista e imprimir cada sabor, um por vez.
2

while — Para repetições condicionais

O while executa um bloco de código enquanto uma condição for verdadeira. É ideal quando não sabemos, de antemão, quantas vezes o laço vai repetir.

Exemplo: aceitando pedidos até o cliente digitar "sair"

sabores = ["Mussarela", "Calabresa", "Pepperoni", "Quatro Queijos", "Frango com Catupiry"]
print("Faça seu pedido (digite 'sair' para encerrar):")
pedido = ""

while pedido.lower() != "sair":
    pedido = input("Escolha um sabor: ")
    if pedido in sabores:
        print(f"{pedido} adicionado ao seu pedido!")
    elif pedido.lower() == "sair":
        print("Pedido encerrado!")
    else:
        print("Esse sabor não está no cardápio. Escolha outro.")
✏️ Explicação
  • Criamos um loop while que continua rodando até o cliente digitar "sair".
  • Se o sabor estiver na lista, ele é adicionado ao pedido.
  • Se o cliente digitar algo que não está no menu, avisamos que o sabor não está disponível.
⚠️ Cuidado com o loop infinito Todo while precisa de uma condição que, em algum momento, se torne falsa — senão o programa nunca para. Aqui, digitar "sair" é o que encerra o laço.
3

Usando range() para repetição controlada

O range() gera uma sequência de números e é muito útil em loops for quando queremos repetir algo uma quantidade exata de vezes. range(1, 6) gera os números de 1 a 5 (o último valor não entra).

Exemplo: preparando pizzas em um tempo determinado

print("Preparando sua pizza...")
for minuto in range(1, 6):
    print(f"{minuto} minuto(s) se passou...")

print("Sua pizza está pronta! Bom apetite!")
✏️ Explicação
  • O loop for percorre de 1 a 5 minutos.
  • A cada iteração, simula o tempo passando até a pizza ficar pronta.
4

break e continue para controle de fluxo

Podemos usar break para interromper um loop imediatamente e continue para pular uma iteração e ir direto para a próxima.

Exemplo: atendendo apenas 3 clientes na fila

clientes = ["João", "Maria", "Carlos", "Ana", "Pedro"]

print("Atendendo clientes:")
for i, cliente in enumerate(clientes):
    if i == 3:
        print("Capacidade máxima atingida! Não podemos atender mais clientes agora.")
        break
    print(f"Atendendo {cliente}...")
✏️ Explicação
  • Usamos enumerate() para obter um índice numérico junto com cada cliente.
  • Quando atingimos o limite de 3 clientes atendidos, usamos break para encerrar o loop.

E o continue? Pulando um item da fila

O continue não encerra o laço — ele apenas pula para a próxima iteração. No exemplo abaixo, o pedido "cancelado" é ignorado, mas o atendimento continua.

pedidos = ["Mussarela", "cancelado", "Calabresa", "cancelado", "Pepperoni"]

for pedido in pedidos:
    if pedido == "cancelado":
        continue  # pula este e vai para o próximo
    print(f"Preparando pizza de {pedido}...")
break × continue
  • break — para tudo e sai do loop na hora.
  • continue — pula só a iteração atual e segue para a próxima.
★

Conclusão 🔥

As estruturas de repetição são fundamentais para automatizar tarefas repetitivas, tornando o código mais eficiente e dinâmico. Com for e while, podemos criar loops para percorrer listas, processar pedidos e simular situações do dia a dia da Pizzaria Sabores!

Laço 1

for

Percorre listas, strings e intervalos — quando sabemos por onde iterar.

Laço 2

while

Repete enquanto uma condição for verdadeira — quando não sabemos quantas vezes.

Ferramenta

range()

Gera sequências de números para repetições controladas dentro do for.

Controle

break · continue

Interrompem ou pulam iterações, dando controle fino sobre o fluxo do laço.

🎯 Desafio para casa Crie um programa que percorra uma lista de sabores e, usando um laço, monte um cardápio numerado (1, 2, 3…) com enumerate(). Depois, peça ao usuário quantas pizzas ele quer e use um for com range() para registrar cada pedido!