1
resposta

[Bug] loop

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Fiz o codigo assim so que o resultado da um loop infinito.

1 resposta

Olá, Pedro!

O que está causando o loop infinito no seu código é a posição da linha livro -= 1.

Por que isso está acontecendo?

  • A linha 59 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.