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

O que é um loop infinito?

contador = 0
while contador < 10:
    print("Processando dados...")
    contador += 1

Processando dados...
Processando dados...
Processando dados...
Processando dados...
Processando dados...
Processando dados...
Processando dados...
Processando dados...
Processando dados...
Processando dados...

1 resposta

Oi, Marcelo, como vai?

A identificação do problema e a correção aplicada estão certas. O código original nunca incrementava a variável contador, então a condição contador < 10 jamais se tornava falsa e o loop rodava indefinidamente. Ao adicionar contador += 1 dentro do bloco, o valor avança a cada iteração até atingir 10, encerrando o laço normalmente.

Esse tipo de situação é bem comum ao trabalhar com while, já que diferente do for, ele não avança automaticamente por uma sequência. Toda a responsabilidade de atualizar a condição de parada fica com quem escreve o código.

Pensando nisso, em que tipo de situação você usaria um loop while em vez de um for, mesmo sabendo que o while exige esse cuidado extra com a condição de parada?

Parabéns pelo exercício e obrigado por compartilhar. 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!