1
resposta

Solução

initial_stock = 6

for stock in range(1, initial_stock):
  initial_stock -= 1
  print(f'Venda realizada! Estoque restante: {initial_stock}')


print('Estoque esgotado')
1 resposta

Olá, Renato!

Veja o que está acontecendo no seu código: você está modificando a variável initial_stock dentro do laço for, mas o range(1, initial_stock) ainda gera um intervalo fixo até 5 (no seu caso). Isso faz com que o laço execute apenas algumas vezes e depois pare.

Aqui está o ajuste que você pode fazer para que o laço continue até que o estoque chegue a 0:

initial_stock = 6

# Enquanto o estoque for maior que 0, continua vendendo
while initial_stock > 0:
  initial_stock -= 1
  print(f'Venda realizada! Estoque restante: {initial_stock}')

print('Estoque esgotado')

O código acima usa o laço while, que vai continuar enquanto o estoque for maior que 0. Assim, ele vai diminuindo o estoque até esgotar, e ao final, imprime que o estoque acabou.

Bons estudos!