1
resposta

O que é um loop infinito? - Laços for e While

contador = 0

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

1 resposta

Olá, Armando. Como vai?

Um loop infinito ocorre na programação quando uma estrutura de repetição (como o while ou o for) é executada continuamente, sem nunca parar, porque a sua condição de parada nunca é atingida ou o bloco de código fica preso em um ciclo perpétuo.

Analisando o código que você compartilhou, você estruturou a lógica perfeitamente para evitar um loop infinito. Vamos entender detalhadamente o porquê e analisar o comportamento da variável.

O comportamento do seu código

No seu script, o laço de repetição foi configurado da seguinte forma:

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

Esse laço vai rodar exatamente 10 vezes (com o contador variando de 0 a 9). Ele não é infinito porque a linha contador += 1 incrementa o valor da variável a cada repetição. Quando o contador atingir o valor 10, a condição contador < 10 se tornará falsa, quebrando o laço de forma segura.

Como esse mesmo código se tornaria um Loop Infinito?

Se você esquecesse de colocar a linha de incremento, ou se o Python não a executasse por falta de indentação correta, o código entraria em loop infinito. Veja este exemplo de erro comum:

# CUIDADO: Exemplo de Loop Infinito
contador = 0
while contador < 10:
    print("Processando dados...")
    # Sem a linha "contador += 1", o contador será eternamente 0.
    # Como 0 sempre é menor que 10, o programa rodará para sempre.

No caso de um loop infinito real, o programa consome processamento continuamente até que o usuário force a interrupção (usando Ctrl + C no terminal) ou o sistema operacional derrube a execução por falta de memória.

Boas práticas para evitar loops infinitos com while

  • Garantir a atualização da variável de controle: Sempre certifique-se de que a variável testada na condição do while mude de valor dentro do bloco de código.
  • Critério de parada claro: Tenha certeza de que, em algum momento da execução, a condição testada se tornará estritamente falsa.
  • Prefira o for quando souber o limite: Quando você já sabe exatamente o número de repetições necessárias (como percorrer uma lista ou um intervalo de números), prefira utilizar o laço for com a função range(), pois ele gerencia o incremento e a parada de forma 100% automatizada, eliminando o risco de loops infinitos por esquecimento.

Espero que possa ter lhe ajudado!