Olá, Armando. Como vai?
O seu exemplo ilustra perfeitamente um dos cenários mais práticos e reais para o uso da instrução continue na programação: a filtragem de dados dentro de um fluxo de repetição.
A palavra-chave continue serve exatamente para isso: quando o Python encontra esse comando, ele interrompe imediatamente a execução da iteração atual (ignorando todas as linhas de código que estão abaixo dele) e salta direto para a próxima volta do laço. No seu caso, se o estoque for igual a zero, o programa pula o comando print e vai analisar o próximo livro da lista.
Para que essa lógica funcione perfeitamente no seu script Python, precisamos apenas envelopar essa condição dentro de uma estrutura de repetição (for), garantindo que a variável livro seja declarada para percorrer a lista livros.
Além disso, assim como vimos nas estruturas condicionais, lembre-se sempre de manter a indentação correta para que o interpretador do Python saiba o que pertence ao laço e o que pertence ao if.
Veja como o seu código completo e funcional fica estruturado:
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(f"Livro disponível: {livro['nome']}")
- Diferença fundamental:
continue vs break
Uma dica de ouro para os seus estudos é nunca confundir o continue com o seu "irmão", o break. Eles têm comportamentos bem diferentes:
continue: Ele apenas pula a iteração atual. O laço continua vivo e vai para o próximo elemento da lista. (A saída do seu código mostrará "1984", "O Pequeno Príncipe" e "Orgulho e Preconceito").break: Ele quebra e encerra o laço de repetição por completo imediatamente. Se você trocasse continue por break no seu código, assim que o Python encontrasse "Dom Casmurro" (estoque 0), o programa pararia de ler a lista inteira e não mostraria mais nenhum livro, mesmo que os próximos tivessem estoque.
Sua escolha pelo continue foi cirúrgica para o problema proposto, garantindo a automação eficiente da filtragem de relatórios e controle de estoque.
Espero que possa ter lhe ajudado!