1
resposta

Utilidade do continue em laços - Laços For e While

Lista de livros

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}
]

if livro["estoque"] == 0:
continue

print(f"Livro disponível: {livro['nome']}")

1 resposta

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!