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

Controle de estoque

Boa noite,
Segue o código que foi feito para a resoloção do exercício

def simular_vendas(estoque_inicial): 
    estoque = estoque_inicial

    while estoque > 0:
        entrada = input(f"\nEstoque atual: {estoque}. Quantos exemplares foram vendidos? ")

        if not entrada.isdigit():
            print("Digite um número inteiro válido.")
            continue

        quantidade = int(entrada)

        if quantidade <= 0:
            print("A quantidade deve ser maior que zero.")
            continue

        if quantidade > estoque:
            print(f"Quantidade indisponível! Só há {estoque} exemplar(es) em estoque.")
            continue

        estoque -= quantidade
        print(f"Venda realizada! Estoque restante: {estoque}")

    print("Estoque esgotado")


ESTOQUE_INICIAL = 5
simular_vendas(ESTOQUE_INICIAL)
1 resposta

Oi, Laura. Tudo bem com você?

Seu exercício ficou bem interessante e você foi além do comportamento mínimo solicitado na atividade. A função simular_vendas() recebe o estoque inicial e utiliza o while estoque > 0 para manter as vendas acontecendo enquanto ainda existem exemplares disponíveis. A cada venda, a quantidade é convertida para inteiro, descontada do estoque e a mensagem com o estoque restante é exibida corretamente. Quando o valor chega a zero, o laço é encerrado e "Estoque esgotado" aparece no final.

Também vale destacar as validações que você adicionou. O uso de isdigit() evita que uma entrada como "abc" seja convertida para inteiro, enquanto as verificações de quantidade maior que zero e de quantidade disponível impedem vendas inválidas.

Como dica para continuar praticando while, você poderia pensar em outras situações em que o laço precisa continuar até uma determinada condição ser alcançada. Que outras regras você adicionaria a esse controle de estoque para deixá-lo mais próximo de um sistema usado em uma livraria?

Parabéns pelo exercício, Laura, e obrigado por compartilhar seu código no fórum. Continue praticando e compartilhando suas soluções por aqui. O fórum está à disposição sempre que precisar.

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