Entenda o problema
O que é Condicionais e loops
Laço é repetição controlada. Use for quando você sabe quantas vezes vai repetir (ou percorre uma coleção) e while quando a parada depende de uma condição que muda no meio do caminho.
Cheque seu entendimento
Quantas voltas dá for n in range(1, 6)?
Construa o modelo mental
Como pensar antes de fazer
Todo laço precisa de três coisas: um ponto de partida, uma condição de continuação e algo que muda a cada volta. Se a terceira falta, o laço é infinito — travamento clássico.
Não decore a forma. Tente explicar com suas palavras qual problema “Condicionais e loops” resolve.
Veja funcionando
Exemplo completo, do início ao resultado
break sai do laço imediatamente; continue pula para a próxima volta. Ambos são úteis, mas laços cheios de break aninhado costumam pedir uma função com return.
# for: número conhecido de repetições
total = 0
for n in range(1, 6): # 1,2,3,4,5
total += n
print(total) # 15
# while: para quando a condição muda
senha = ""
tentativas = 0
while senha != "abrir" and tentativas < 3:
tentativas += 1
senha = "abrir" if tentativas == 2 else "erro"
print(tentativas) # 2Leitura linha por linha
# for: número conhecido de repetiçõesComentário de orientação: documenta a intenção sem executar uma ação.
total = 0Cria ou atualiza um valor que será usado pelo restante do exemplo.
for n in range(1, 6): # 1,2,3,4,5Percorre ou transforma uma sequência de valores.
total += nContribui para a transformação principal mostrada neste exemplo.
print(total) # 15Produz ou devolve o resultado que permite conferir a execução.
# while: para quando a condição mudaComentário de orientação: documenta a intenção sem executar uma ação.
senha = ""Cria ou atualiza um valor que será usado pelo restante do exemplo.
tentativas = 0Cria ou atualiza um valor que será usado pelo restante do exemplo.
range(1, 6) vai até 5: o fim é exclusivo. O acumulador total é criado ANTES do for e usado depois.
Cheque seu entendimento
O que causa um laço infinito em um while?
Leia por partes
Do detalhe para o todo
Acumuladores (soma, contagem, maior valor) seguem sempre o mesmo padrão: inicializa antes do laço, atualiza dentro, usa depois. Inicializar dentro do laço é o erro número um.
Aprenda a diagnosticar
Erros comuns e como corrigi-los
- 1Esquecer de atualizar a variável de controle no while → laço infinito.
- 2Confundir limites: range(1,5) não inclui o 5.
- 3Zerar o acumulador dentro do laço, perdendo tudo a cada volta.
Quando algo der errado, compare uma diferença por vez com o exemplo. Evite mudar várias partes ao mesmo tempo.
O que você aprendeu
- Laço é repetição controlada. Use for quando você sabe quantas vezes vai repetir (ou percorre uma coleção) e while quando a parada depende de uma condição que muda no meio do caminho.
- range(1, 6) vai até 5: o fim é exclusivo. O acumulador total é criado ANTES do for e usado depois.
- Evite: Esquecer de atualizar a variável de controle no while → laço infinito.
- Evite: Confundir limites: range(1,5) não inclui o 5.
Videoaulas sobre este tema
Se você aprende melhor assistindo, abrimos uma seleção de aulas em vídeo em português sobre exatamente este assunto.
Quiz rápido
0/2 • 0 certas1. Quantas voltas dá for n in range(1, 6)?
2. O que causa um laço infinito em um while?