1
resposta

Utilidade do continue em laços

No treinamento Praticando Python: laços for e while, para o exercício Utilidade do continue em laços, criei uma função que recebe uma lista de dicionário, com laço for percorro a lista e valido com se o estoque é maior que zero, se isso for verdadeiro exibo o nome do livro na saída padrão.

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

def filtro_de_estoque(livros):
    for livro in livros:
        if livro["estoque"] > 0:
            print(f'Livro disponível: {livro["nome"]}')

filtro_de_estoque(livros)
1 resposta

Oi Gilmar,

Seu código está ótimo e funciona como esperado! 👍

Ele percorre a lista de livros. Verifica se o estoque é maior que zero. E imprime o nome dos livros disponíveis.

Você também pode usar o continue para obter o mesmo resultado. O continue faz com que o loop pule para a próxima iteração. Assim, podemos inverter a lógica do if. E usar continue para pular livros sem estoque.

Veja este exemplo:

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

def filtro_de_estoque(livros):
    for livro in livros:
        if livro["estoque"] == 0:
            continue
        print(f'Livro disponível: {livro["nome"]}')

filtro_de_estoque(livros)

Neste código, se o estoque for igual a zero, o continue é executado. O loop pula para o próximo livro. E o print é ignorado para livros sem estoque.

🎓 Para saber mais: Documentação oficial do Python sobre o comando continue.

Continue praticando e explorando os loops! 💪