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

Continue em loop

Boa noite,

Segue o código criado para a resolução do exercício

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 verificar_estoque(lista_livros):
    disponiveis = []
    esgotados = []

    for livro in lista_livros:
        if livro["estoque"] == 0:
            esgotados.append(livro["nome"])
        else:
            disponiveis.append(f"{livro['nome']} ({livro['estoque']} exemplares)")

    for mensagem in disponiveis:
        print(f"{mensagem} está disponível")
    for nome in esgotados:
        print(f"{nome} está esgotado")

    print(f"\nTotal disponíveis: {len(disponiveis)} | Total esgotados: {len(esgotados)}")

    return disponiveis, esgotados

# Chamada da função
disponiveis, esgotados = verificar_estoque(livros)
1 resposta

Oi, Laura. Tudo bem com você?

Seu exercício de controle de estoque ficou bem organizado e você conseguiu trabalhar corretamente com o for, if/else, listas e funções. A separação entre disponiveis e esgotados também deixa o resultado fácil de consultar.

Um detalhe interessante é que você criou duas listas para armazenar informações diferentes. Em disponiveis, além do nome do livro, você incluiu a quantidade de exemplares, enquanto em esgotados armazenou apenas o nome. Isso permite apresentar mensagens diferentes para cada situação. Por exemplo, "1984 (5 exemplares) está disponível" e "Dom Casmurro está esgotado".

Como você está praticando laços, uma reflexão interessante seria pensar em como esse código poderia se comportar caso a lista tivesse dezenas ou centenas de livros. Você manteria essa mesma estrutura de duas listas ou pensaria em outra forma de organizar e apresentar as informações?

Parabéns pelo exercício e por compartilhar sua solução. Continue praticando e testando diferentes situações com os dados, pois isso ajuda bastante a fixar o comportamento dos laços em Python. O fórum está à disposição para os próximos exercícios.

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