Olá, Paulo. Como vai?
Sua solução utilizando apenas a estrutura condicional if livro["estoque"] > 0: está perfeitamente correta e é super limpa! Para o tamanho atual do seu código, essa abordagem atende muito bem e é bastante legível.
O objetivo dessa atividade é apresentar a instrução continue como uma ferramenta alternativa para o controle de fluxos em laços de repetição. Enquanto o seu código foca em o que processar (se o estoque for maior que zero, imprima), a filosofia do continue foca em o que ignorar (se o estoque for zero, pule para o próximo livro).
Para entender a utilidade prática do continue, veja como o mesmo código ficaria estruturado com ele:
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:
# Se o livro estiver sem estoque, o 'continue' interrompe a iteração atual
# e faz o laço 'for' pular imediatamente para o próximo livro da lista
if livro["estoque"] == 0:
continue
print(f"Livro disponível: {livro['nome']}")
Qual é a vantagem real de usar o continue?
Para listas simples como essa, a diferença parece apenas questão de gosto. No entanto, no mercado e em sistemas complexos, o continue é considerado uma excelente prática para evitar o que chamamos de Código Espaguete (ou aninhamento excessivo de blocos if).
Imagine que, além de verificar o estoque, você precisasse fazer mais 5 validações no livro (se o preço está ativo, se a editora é parceira, se a classificação indicativa bate com o usuário, etc.).
- Sem o
continue, seu código ganharia vários if um dentro do outro, empurrando o seu código cada vez mais para a direita (identação profunda). - Com o
continue, você cria pequenas barreiras de validação no topo do laço. Se o item não passar, ele é descartado na hora. O restante do código principal roda livre, sem precisar estar "preso" dentro de um bloco if.
Parabéns pelo código e por testar a lógica! É ótimo conhecer as duas formas para escolher a melhor de acordo com o tamanho do projeto.
Espero que possa ter lhe ajudado!