1
resposta

Controle de estoque

No treinamento Praticando Python: laços for e while, para o exercício Controle de estoque, implementei o código com while para ficar no laço enquanto o estoque tenha livros, a cada compra é verificado se existe saldo no estoque, quando o estoque estiver em 0 a mensagem de estoque esgotado é apresentada.

estoque = 5

def vender(qtd):
    global estoque
    if qtd > estoque:
        print('Estoque insuficiente!')
    else:
        estoque -= qtd

while estoque > 0:
    print(f'Venda realizada! Estoque restante: {estoque}')
    if estoque > 0 :
        livros_vendidos = int(input('Quantos livros foram vendidos? '))
        vender(livros_vendidos)

print('Estoque esgotado!')
1 resposta

Olá Gilmar! Como vai?

Seu código está quase lá e a lógica está correta!

No entanto, há um pequeno ajuste que pode ser feito para que a mensagem de "Venda realizada!" seja exibida corretamente após cada venda, e não antes de verificar a quantidade vendida. A mensagem deve ser exibida somente quando a venda for realmente realizada. Vou sugerir uma pequena modificação:

estoque = 5

def vender(qtd):
    global estoque
    if qtd > estoque:
        print('Estoque insuficiente!')
    else:
        estoque -= qtd
        print(f'Venda realizada! Estoque restante: {estoque}')

while estoque > 0:
    livros_vendidos = int(input('Quantos livros foram vendidos? '))
    vender(livros_vendidos)

print('Estoque esgotado!')

Com essa alteração, a mensagem de "Venda realizada!" será exibida somente quando a venda for bem-sucedida, ou seja, quando houver estoque suficiente para atender à quantidade solicitada. Espero que isso ajude a deixar seu programa ainda mais alinhado com o que foi pedido no exercício.

Bons estudos!