1
resposta

[Projeto] Minha resposta

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.get("estoque") == 0:
        continue
    else:
        print(f"Livro disponível: {livro.get("nome")}")
1 resposta

Olá, Herbert, como vai?

É ótimo ver como você aplicou o laço for para iterar sobre a lista de dicionários e utilizou a instrução continue para pular os itens sem estoque, exatamente como foi pedido na atividade. Isso mostra que você compreendeu bem o conceito.

Uma dica para refatorar o código, tornando-o ainda mais conciso, seria remover a cláusula else. Como a instrução continue já encerra a iteração atual quando o estoque é zero, o código que exibe o nome do livro só será executado quando a condição for falsa.

Por exemplo, você poderia escrever o seu código da seguinte forma:

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.get("estoque") == 0:
        continue

    print(f"Livro disponível: {livro.get("nome")}")

Nesse formato, o código fica mais limpo e a lógica de execução é a mesma, pois a linha print só é alcançada quando a condição do if não é satisfeita.

Parabéns pelo seu progresso. Se tiver alguma dúvida ou quiser compartilhar outros projetos, o fórum está sempre à sua disposição.

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