ANÚNCIO

~/questoes/python

Quando você usaria um laço 'while' em vez de um laço 'for'?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Aprenda Python em 1 Hora
Para fixar

While vs For: Escolhendo o laço certo

Conceito central

O laço while repete um bloco de código enquanto uma condição for verdadeira, sem necessidade de saber antecipadamente quantas vezes vai executar. É diferente do for, que é ideal quando você já conhece o número exato de repetições ou está percorrendo uma lista.

Por que essa resposta faz sentido

O while é perfeito quando você precisa repetir código baseado em uma condição que pode mudar durante a execução. Você não precisa saber quantas vezes o código vai rodar — ele continua enquanto a condição for verdadeira.

Armadilhas comuns

  • Confundir while com for: lembrar que while depende de condição (verdadeiro/falso), enquanto for é melhor para contar ou percorrer coleções
  • Criar loops infinitos sem atualizar a condição: dentro do while, você precisa modificar a variável da condição, senão o código nunca para
  • Usar while quando for seria mais simples: se sabe exatamente quantas vezes repetir, for torna o código mais legível

Entenda as alternativas

A

Um laço é justamente para repetir ações múltiplas vezes. Se você precisa fazer algo apenas uma vez, um laço não é necessário.

B

Armazenar e acessar múltiplos valores é função de listas em Python. Embora você use listas com laços, isso não é a característica principal do while.

C

Essa é a definição exata do while. Ele continua repetindo enquanto a condição permanece verdadeira, sem contar iterações antecipadamente.

D

Quando você conhece o número exato de itens ou tem um número predeterminado de repetições, o for é mais apropriado que o while.

Dica prática: Use while em situações como: solicitar entrada do usuário até ele digitar uma senha correta, processar linhas de um arquivo até chegar no fim, ou contar até atingir um limite desconhecido. Se está iterando sobre uma lista ou contando de 1 a 10, prefira for.

Revise pensando: Se você quiser repetir um bloco de código 5 vezes, qual laço escolheria? E se quisesse solicitar um número ao usuário enquanto ele não digitar um valor maior que 100?