1
resposta

[Projeto] Utilidade do continue em laços

Texto:
Este programa percorre uma lista de livros e verifica o estoque de cada um. Quando o estoque é igual a 0, o comando continue faz o programa ignorar aquele livro. Assim, são exibidos apenas os livros disponíveis.

Resposta:

livros = [
{"nome": "1984", "estoque": 5},
{"nome": "Dom Casmurro", "estoque": 0},
{"nome": "O Pequeno Príncipe", "estoque": 3},
{"nome": "O Hobbit", "estoque": 0},
{"nome": "Orgulho e Preconceito", "estoque": 2}
]

for livro in livros:
if livro["estoque"] == 0:
continue

print("Livro disponível:", livro["nome"])

1 resposta

Olá, Filipe. Como vai?

Excelente escolha de projeto para fechar o entendimento sobre controle de fluxo! O comando continue é o complemento perfeito para o break que vimos anteriormente. Enquanto o break encerra o laço, o continue apenas "pula" para a próxima volta, o que é ideal para filtros e limpezas de dados.

Sua solução está tecnicamente impecável. Vamos destacar os pontos fundamentais da sua lógica:

1. Manipulação de Dicionários em Listas

Você subiu o nível do código ao utilizar uma lista de dicionários ({"nome": "...", "estoque": ...}). Essa é a estrutura real de como dados são organizados em bancos de dados e APIs, permitindo que você armazene múltiplas informações sobre um mesmo objeto de forma organizada.

2. A Lógica de "Pulo" do continue

Ao encontrar um livro com estoque == 0, o continue diz ao Python: "Pare o que está fazendo nesta iteração e vá direto para o próximo livro da lista". Por causa disso, o comando print que está abaixo dele é ignorado apenas para os livros indisponíveis.

3. Código Limpo (Clean Code)

Utilizar o continue para tratar casos de exceção (como o estoque vazio) logo no início do laço é uma prática que reduz o nível de aninhamento do código. Em vez de colocar todo o seu código principal dentro de um if, você remove os itens indesejados primeiro e deixa o fluxo principal livre para ser executado.


Sugestão de Experimento:
Para tornar a saída ainda mais amigável, você poderia adicionar um contador de quantos livros foram filtrados ou utilizar f-strings para mostrar a quantidade de cada um:

for livro in livros:
    if livro["estoque"] == 0:
        continue
    print(f"Livro disponível: {livro['nome']} (Estoque: {livro['estoque']})")

Com este projeto, você consolidou os principais pilares da programação em Python: estruturas de dados, laços de repetição e condicionais de controle. Seu progresso técnico está muito evidente na qualidade e organização dos seus scripts!

Espero que possa ter lhe ajudado!