Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Utilidade do continue em laços

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}

]

disponiveis = 0
esgotados = 0

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

print(f"\nDisponíveis: {disponiveis} | Esgotados: {esgotados}")
1 resposta

Oi, Luísa! Como vai?

Que ótimo exercício para explorar a utilidade do continue em laços! Você aplicou o comando de forma muito adequada, percorrendo a lista de livros e ignorando os títulos com estoque zerado. Essa abordagem funciona muito bem porque evita níveis extras de indentação e torna o código mais legível, especialmente quando trabalhamos com estruturas como a que você criou, contendo títulos como 1984, Dom Casmurro, O Pequeno Príncipe, O Hobbit e Orgulho e Preconceito.

A lógica de separar os livros disponíveis dos esgotados usando o continue é bastante elegante. Quando o estoque de um livro é igual a zero, o contador de esgotados é incrementado e o restante do bloco é ignorado, indo direto para a próxima iteração. Isso mantém o fluxo do laço limpo e objetivo, sem a necessidade de um bloco else adicional.

Uma dica para o futuro é usar o método get() ao acessar chaves de dicionários. Veja este exemplo:


estoque = livro.get("estoque", 0)

if estoque > 0:
    print("Livro disponivel")

Nesse caso, o get() retorna o valor da chave estoque e, se ela não existir no dicionário, utiliza 0 como valor padrão, prevenindo erros durante a execução do programa.

O seu uso do print para exibir cada nome disponível junto com a quantidade de exemplares também ficou muito claro e informativo. Pequenos detalhes assim fazem bastante diferença na hora de depurar ou apresentar resultados.

Você já teve a oportunidade de usar o continue em outros contextos, como ao processar dados de usuários ou filtrar itens em listas maiores?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!