Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Controle de estoque

# Questão 7 - Controle de estoque

# Define o estoque inicial
estoque = 5

# Realiza as vendas enquanto houver estoque
while estoque > 0:

    # Reduz uma unidade do estoque
    estoque -= 1

    # Exibe mensagem da venda realizada
    print(f"Venda realizada! Estoque restante: {estoque}")

# Exibe mensagem de estoque esgotado
print("Estoque esgotado")
2 respostas

Olá, Estudante. Como vai?

O seu código é um exemplo clássico e muito eficiente de como utilizar o laço while para monitorar estados que mudam ao longo do tempo. Você utilizou corretamente a estrutura de decremento estoque -= 1, que é a forma abreviada de escrever estoque = estoque - 1.

Para agregar mais valor ao seu estudo sobre laços de repetição, gostaria de destacar um conceito importante: a condição de parada. No seu código, a condição estoque > 0 garante que o loop nunca entre em uma execução infinita, pois em algum momento o valor chegará a zero e a expressão se tornará falsa.

Aqui estão algumas sugestões de boas práticas e complementos para esse tipo de lógica:

  • Validação de Entrada: Em um sistema real, raramente vendemos apenas uma unidade por vez. Você poderia modificar o código para perguntar ao usuário quantos itens ele deseja comprar e subtrair esse valor, verificando se a quantidade solicitada está disponível.
  • Uso do Operador de Atribuição: O uso de -= é excelente. Python também suporta outros operadores similares, como += (adição), *= (multiplicação) e /= (divisão), que ajudam a manter o código limpo.
  • Prevenção de Estoque Negativo: Uma boa prática é garantir que o estoque nunca fique negativo. Embora o seu while já trate isso, ao permitir vendas de múltiplas unidades, uma verificação extra com if seria prudente.

Veja um pequeno exemplo de como tornar seu código mais dinâmico:

estoque = 10

while estoque > 0:
    quantidade = int(input(f"Temos {estoque} unidades. Quantas deseja comprar? "))
    
    if quantidade <= estoque:
        estoque -= quantidade
        print(f"Venda de {quantidade} unidades realizada!")
    else:
        print(f"Ops! Você tentou comprar {quantidade}, mas só temos {estoque} em estoque.")

print("Estoque esgotado. Reposição necessária!")

Essa abordagem torna o controle de fluxo muito mais robusto para cenários do dia a dia no desenvolvimento web ou de sistemas.

Espero que possa ter lhe ajudado!

solução!

Obrigado!