Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Controle de estoque

estoque = 5

quantidade = int(input('Quantos livros deseja comprar? '))
restante = estoque - quantidade
if quantidade > 0 and quantidade <= estoque:

    while quantidade <= estoque and estoque > 0:
        print(f"Venda realizada! Estoque restante {restante}.")
        estoque -= quantidade
        break
else:
    print('Quantidade inválida!')
    
if restante ==0:
    print('Estoque esgotado!')
1 resposta
solução!

Ei, Willian! Tudo bem?

Você fez um ótimo trabalho ao controlar o estoque com if e while, parabéns! A lógica está clara e funcional, com uma validação interessante para o limite de livros. Uma observação: a variável restante é calculada antes da atualização do estoque, então pode mostrar um valor desatualizado se usada após a venda.

Uma sugestão é calcular o restante dentro do loop, garantindo que ele sempre reflita o valor mais atual. Veja este exemplo:


estoque = 5

quantidade = int(input('Quantos livros deseja comprar? '))

if quantidade > 0 and quantidade <= estoque:
    while quantidade <= estoque and estoque > 0:
        estoque -= quantidade
        print(f"Venda realizada! Estoque restante {estoque}.")
        break
else:
    print('Quantidade invalida!')

if estoque == 0:
    print('Estoque esgotado!')

Esse código usa estoque atualizado direto no print. Isso evita inconsistência na mensagem final. Faça os ajustes necessários e observe se funciona como esperado.

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