Fiz o codigo assim so que o resultado da um loop infinito.
Fiz o codigo assim so que o resultado da um loop infinito.
O que está causando o loop infinito no seu código é a posição da linha livro -= 1
.
Por que isso está acontecendo?
livro -= 1
está fora do bloco de código que é repetido pelo while
. Isso significa que o valor de livro
nunca é diminuído dentro do loop, fazendo com que a condição livro > 0
sempre seja verdadeira, resultando em um loop infinito.Como corrigir:
Para corrigir esse problema, precisamos mover a linha livro -= 1
para dentro do bloco do while
:
livro = 5
while livro > 0:
print(f'Compra realizada \n resta: {livro} livros')
livro -= 1 # Diminuir a quantidade de livros a cada iteração
print('estoque esgotado')
Explicando a correção:
Dentro do loop: Ao colocar livro -= 1
dentro do loop, a cada iteração, o valor de livro
será decrementado em 1, simulando a venda de um livro.
Condição de parada: A condição while livro > 0
garantirá que o loop continue enquanto houver livros em estoque. Quando livro
chegar a 0, o loop será encerrado.
Espero ter ajudado.