Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O que é um loop infinito?

André está testando um novo recurso no backend do Buscante que processa dados em um loop. Durante os testes, ele percebeu que o sistema parou de responder, e suspeita que o problema está em um loop infinito.

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

Qual é o problema do código de André e como resolver?

    R: não atribuiu nenhuma interação ao contador = 0,
        irá repetir "processando dados..." indefinidamente já que o estado do contador nunca se tornará falso.
            
    contador = 0
    while contador < 10:
          contador = contador + 1 # atribuindo valor até que o resultado se torne falso.
          print(f"Processando dados...{contador}")  

    print("Processamento concluído!")
    
    Processando dados...1
    Processando dados...2
    Processando dados...3
    Processando dados...4
    Processando dados...5
    Processando dados...6
    Processando dados...7
    Processando dados...8
    Processando dados...9
    Processando dados...10
    Processamento concluído!
1 resposta
solução!

Olá, Carlos, como vai?

Seu raciocínio sobre o motivo do bloqueio do sistema está bem alinhado com o funcionamento do while. Sem atualizar o contador dentro do laço, a condição permanece verdadeira para sempre, o que impede o fluxo de avançar no código.

O exemplo que você trouxe corrige exatamente esse comportamento ao incrementar o contador a cada iteração. Isso torna o fluxo previsível e encerra o laço quando o valor atinge o limite definido. Um ajuste simples como esse já evita travamentos e facilita o controle da lógica.

Continue compartilhando suas soluções e reflexões. O fórum está à disposição para o que precisar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!