1
resposta

10 Controle de estoque

Resposta:

#Estoque inicial do livro no Buscante
estoque = 5

#O loop continuará rodando enquanto o estoque for maior que 0
while estoque > 0:
# Simula a realização de uma venda diminuindo 1 do estoque
estoque -= 1
print(f"Venda realizada! Estoque restante: {estoque}")

#Mensagem exibida assim que o estoque chega a 0 e o loop termina
print("Estoque esgotado")

1 resposta

Olá, Deivide. Como vai?

Sua resolução está absolutamente correta e muito bem estruturada! O uso do laço while é a escolha perfeita para esse cenário, pois o controle de estoque depende de uma condição dinâmica (o estoque ser maior que zero) e não de uma quantidade fixa e predefinida de repetições.

Você aplicou muito bem o operador de decremento estoque -= 1 e posicionou corretamente a mensagem de "Estoque esgotado" fora do laço, garantindo que ela seja exibida apenas uma vez, exatamente quando o fluxo de repetição for encerrado.

Para agregar ainda mais valor ao seu aprendizado e conectar o exercício com a sua atuação como Analista de Inteligência de Vendas, separei duas melhorias práticas que aproximam esse código de um sistema de estoque da vida real:


1. Evitando o estoque negativo (Validação de Venda)

No modelo atual, o código assume que cada venda consome exatamente 1 unidade. Mas e se um cliente tentar comprar 3 unidades de uma vez só?

Em sistemas de vendas reais, nós solicitamos a quantidade desejada pelo cliente e usamos uma estrutura condicional if dentro do while para verificar se o estoque dá conta do pedido antes de finalizar a operação. Veja essa evolução:

estoque = 5

while estoque > 0:
    # Simula o cliente pedindo uma quantidade de livros
    quantidade_pedido = 2 
    
    if quantidade_pedido <= estoque:
        estoque -= quantidade_pedido
        print(f"Venda de {quantidade_pedido} unidades realizada! Estoque restante: {estoque}")
    else:
        print(f"Não foi possível realizar a venda. Estoque insuficiente! Estoque atual: {estoque}")
        # Força a saída ou trata o fluxo para não entrar em loop infinito
        break

print("Estoque esgotado ou insuficiente para novas vendas.")

2. Ponto de Pedido (Alerta de Estoque Baixo)

Uma métrica fundamental na Inteligência de Vendas é o Ponto de Pedido (Reorder Point), que consiste em disparar um alerta para o time de compras quando o produto atinge um nível crítico, evitando que o estoque zere completamente e a empresa perca vendas.

Você pode implementar essa lógica inserindo uma checagem rápida dentro do seu laço original:

estoque = 5

while estoque > 0:
    estoque -= 1
    print(f"Venda realizada! Estoque restante: {estoque}")
    
    # Se o estoque chegar a 2 unidades, dispara um aviso preventivo
    if estoque == 2:
        print("--- ALERTA COMERCIAL: Estoque atingiu o nível crítico! Emitir pedido de compra. ---")

print("Estoque esgotado.")

Com essa modificação, além de automatizar a baixa, o seu algoritmo passa a gerar inteligência de negócio em tempo real para a tomada de decisões.

Parabéns pela dedicação em resolver todos os desafios de laços de repetição com tanta qualidade e clareza!

Espero que possa ter lhe ajudado!