Olá, Estudante. Como vai?
Seu exemplo ilustra perfeitamente a utilidade da instrução continue. Enquanto o break serve para encerrar o laço prematuramente, o continue funciona como um "atalho" para a próxima iteração, interrompendo apenas o ciclo atual.
O uso que você fez é considerado uma cláusula de guarda. Essa é uma boa prática de programação que ajuda a manter o código mais limpo e legível. Sem o continue, você teria que envolver o seu print dentro de um bloco if, o que, em códigos mais complexos, poderia gerar muitos níveis de indentação (o famoso "código em formato de pirâmide").
Para agregar mais valor ao seu entendimento, veja a diferença visual de como o Python processa essas instruções:
Note alguns pontos técnicos sobre o que você construiu:
- Eficiência de leitura: Ao usar o
continue, você deixa claro logo no início do laço quais condições não nos interessam. Isso facilita para que outros desenvolvedores entendam rapidamente o filtro que está sendo aplicado. - Manutenibilidade: Se no futuro você precisar adicionar mais 10 linhas de lógica para processar os livros disponíveis, elas não precisarão estar "dentro" de um
if, mantendo o código no nível principal de indentação do laço for.
Uma curiosidade: você poderia obter um resultado similar utilizando a função filter() do Python, mas a sua abordagem com for e continue é muito mais comum quando precisamos realizar ações (como imprimir ou salvar dados) enquanto percorremos a lista.
Espero que possa ter lhe ajudado!