1
resposta

O que é um loop infinito?

O problema no código do André é que o contador nunca é incrementado dentro do laço.

A condição contador < 10 sempre será verdadeira, porque o valor de contador permanece 0. Isso faz com que o laço nunca termine → loop infinito.

Para resolver o problema é nescessáro atualizar o valor de contador dentro do laço, garantindo que ele eventualmente chegue a 10:

contador = 0

while contador < 10:
    print("Processando dados...")
    contador += 1  # incrementa o contador
1 resposta

Oi, Penha, como vai?

A sua explicação sobre o motivo de o código original gerar uma execução sem fim foi precisa, identificando corretamente a ausência de uma instrução que alterasse o estado da variável usada na condição de parada. A correção inserida no bloco de código utilizando o operador de atribuição composta resolve o problema de maneira limpa, garantindo a saída segura do laço de repetição.

Uma dica válida para quando trabalhamos com a estrutura de repetição while envolve a criação de mecanismos complementares de interrupção forçada com o comando break. Em cenários de desenvolvimento, pode ser interessante estabelecer um limite máximo de tentativas ou um critério secundário de parada para evitar falhas no sistema se a variável principal falhar por algum motivo externo.

Se o objetivo do programa fosse buscar dados dentro de um banco de dados dinâmico até encontrar um registro específico, qual estratégia você adotaria para controlar a condição do while sem saber previamente o número exato de repetições necessárias?

Parabéns pelo excelente desempenho no desenvolvimento da atividade, obrigado por compartilhar o seu raciocínio com a comunidade do fórum e lembre-se de que estamos à total disposição para acompanhar os seus estudos.

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