Estoque inicial
estoque = 5
Simulando as vendas
while estoque > 0:
estoque -= 1
print(f"Venda realizada! Estoque restante: {estoque}")
Mensagem final
print("Estoque esgotado")
estoque = 5
while estoque > 0:
estoque -= 1
print(f"Venda realizada! Estoque restante: {estoque}")
print("Estoque esgotado")
Olá, Armando. Como vai?
Parabéns pela resolução do exercício! O seu código é um excelente exemplo prático de como utilizar o laço de repetição while para gerenciar fluxos que dependem de uma condição dinâmica (como a disponibilidade de produtos em um depósito).
A lógica do seu programa foi construída de forma muito precisa. No desenvolvimento de software, chamamos a variável estoque de critério de parada. O laço while funciona como uma checagem contínua: antes de cada venda acontecer, o Python olha para a variável e pergunta: estoque > 0?. Enquanto essa afirmação for verdadeira, ele executa os comandos internos, reduzindo o estoque em 1 (estoque -= 1) e exibindo a mensagem. Assim que o valor chega a zero, a condição se torna falsa, o loop é encerrado com segurança e a mensagem final é disparada.
Apenas como um detalhe de organização e sintaxe em Python (provavelmente devido à formatação na hora de colar o texto aqui no fórum), lembre-se sempre de manter o recuo de código (indentação) correto para os comandos que acontecem dentro do laço. Os comandos que rodam após o término do loop devem voltar para a margem esquerda.
O seu código com a indentação perfeita fica estruturado assim:
# Estoque inicial
estoque = 5
# Simulando as vendas
while estoque > 0:
estoque -= 1
print(f"Venda realizada! Estoque restante: {estoque}")
# Mensagem final
print("Estoque esgotado")
Seu exemplo foi ótimo para uma simulação automática. Pensando em como aproximar esse script ainda mais de um sistema de vendas real de um e-commerce ou frente de caixa, nós podemos permitir que o usuário digite a quantidade de itens que deseja comprar em cada venda, em vez de reduzir o estoque sempre de 1 em 1.
Para fazer isso de forma segura, adicionamos uma validação com if para garantir que o cliente não tente comprar mais produtos do que o estoque possui no momento:
estoque = 10
while estoque > 0:
print(f"\nEstoque atual: {estoque} unidades disponíveis.")
quantidade_desejada = int(input("Quantas unidades deseja comprar? "))
if quantidade_desejada <= estoque:
estoque -= quantidade_desejada
print(f"Venda aprovada! Você comprou {quantidade_desejada} unidades.")
else:
print(f"Venda negada! Estoque insuficiente para essa quantidade.")
print("\nEstoque esgotado. Sistema de vendas encerrado.")
Essa flexibilidade demonstra o quanto a estrutura do while é poderosa para criar sistemas adaptáveis que lidam com interações em tempo real. Muito bom ver a sua evolução com as estruturas de repetição!
Espero que possa ter lhe ajudado!