Trilha de aprendizado · Nível 2 · Tutorial 6

Controlar repetições com break e continue

Encerrar um laço antecipadamente ou pular parte de uma iteração sem perder o controle do fluxo de execução.

  • Nível: Iniciante
  • Duração: 16 min
  • 5 passos
Controlar repetições com break e continue

O que você vai percorrer

  1. Encerrar um laço com break Interrompa uma repetição quando uma condição for atendida e acompanhe a execução até a instrução após o laço. 3 min
  2. Pular o restante da iteração com continue Use continue em um for para ignorar valores sem encerrar o percurso e identifique quais instruções ainda são executadas. 3 min
  3. Manter o avanço do while ao usar continue Identifique quando continue impede o avanço de um while e corrija o fluxo sem mudar os valores que devem ser exibidos. 4 min
  4. Criar uma saída alcançável em while True Reconheça quando usar while True e verifique se a execução consegue chegar a uma condição de saída possível. 3 min
  5. Aplicar e revisar o controle de repetições Combine break e continue em um script local e verifique os caminhos de processamento, descarte e encerramento. 4 min

O que você vai aprender

  • Usar break para encerrar um laço quando uma condição de parada for atendida.
  • Usar continue para ignorar o restante da iteração atual.
  • Identificar a próxima instrução executada após break e continue em for e while.
  • Corrigir um while em que continue impede a atualização necessária para o término.
  • Usar while True somente quando houver um caminho de saída explícito e alcançável.

Antes de começar

  • Selecionar caminhos com if, elif e else
  • Repetir ações com while
  • Percorrer textos e intervalos com for e range

Passo 1 de 5

Encerrar um laço com break

Interrompa uma repetição quando uma condição for atendida e acompanhe a execução até a instrução após o laço.

Uma condição para parar antes

break encerra o laço, não o programa

Use break dentro de um if para parar a repetição assim que uma condição for atendida. Quando ele é executado, o restante do corpo é pulado e não há outra iteração desse laço. A execução segue para a primeira instrução após o laço.

Parar ao encontrar 3

O código exibe 1, 2 e Fim, cada um em uma linha. Quando numero vale 3, o break acontece antes do print que está dentro do for.

python
for numero in range(1, 6):
    if numero == 3:
        break
    print(numero)

print("Fim")

O caminho da saída

Fluxograma do for: obter um valor leva ao teste numero == 3. Se não, executar print(numero) e buscar o próximo valor. Se sim, executar break e seguir diretamente para print("Fim"), fora do laço.

A seta que sai de break não volta ao for: ela leva à instrução fora do laço.

Para onde vai a execução?

No exemplo anterior, numero chegou a 3 e o break foi executado. O que acontece em seguida?

O mesmo efeito no while

No while, o efeito é o mesmo: break sai imediatamente do laço, mesmo que a condição do cabeçalho ainda seja verdadeira. Não é preciso esperar essa condição se tornar falsa.

Interromper antes do limite

Acompanhe o valor de numero até a condição de parada ser atendida.

python
numero = 1

while numero <= 5:
    if numero == 3:
        break
    print(numero)
    numero = numero + 1

print("Fim:", numero)

Exemplo

Saída e motivo

A saída é:
1
2
Fim: 3

Com numero igual a 3, tanto print(numero) quanto numero = numero + 1 são pulados. O teste numero <= 5 não é refeito: a execução vai direto para print("Fim:", numero).

Mude a parada

Parar em 4

No while da tela anterior, queremos parar ao chegar a 4, sem imprimir esse valor dentro do laço. Qual condição do if você usaria? Escreva também a saída completa e a primeira instrução executada após o break. Você pode conferir executando o código alterado no seu computador.

Escreva pelo menos 20 caracteres (0/20).

Passo 2 de 5

Pular o restante da iteração com continue

Use continue em um for para ignorar valores sem encerrar o percurso e identifique quais instruções ainda são executadas.

Pular não é parar

O continue pula o restante do corpo apenas na iteração atual. No for, o controle segue para a obtenção do próximo valor. Se não houver outro valor, o laço termina.

Neste exemplo, queremos ignorar o número 2, mas continuar exibindo os demais.

python
for numero in range(1, 5):
    if numero == 2:
        continue
    print(numero)

print("Fim")

Dois comandos, destinos diferentes

Comparação do percurso de 1 a 4, com uma condição no valor 2. Com break, o laço para no 2 e segue para Fim; somente 1 é exibido. Com continue, o print do 2 é pulado, o percurso passa por 3 e 4 e depois chega a Fim.

No código acima, a saída é 1, 3, 4 e Fim, cada um em uma linha. Se continue fosse trocado por break, a saída seria apenas 1 e Fim.

Ignore apenas o separador

Complete com break ou continue para exibir a e b, cada letra em uma linha, sem exibir o hífen.

for caractere in "a-b":
    if caractere == "-":
        ____
    print(caractere)

O que veio antes já aconteceu

O continue não desfaz instruções anteriores. Veja a ordem abaixo: quando numero vale 2, Antes 2 já foi exibido. Só o restante do corpo é pulado, então Depois 2 não aparece. O percurso segue para 3.

Observe a posição dos prints

python
for numero in range(1, 4):
    print("Antes", numero)
    if numero == 2:
        continue
    print("Depois", numero)

print("Fim")

E se for o último valor?

No código da tela anterior, troque apenas if numero == 2: por if numero == 3:. Quais serão as duas últimas linhas da saída?

Passo 3 de 5

Manter o avanço do while ao usar continue

Identifique quando continue impede o avanço de um while e corrija o fluxo sem mudar os valores que devem ser exibidos.

Voltar ao teste não é atualizar a variável

No for, continue leva à obtenção do próximo valor. No while, ele volta ao teste da condição: não altera a variável de controle por conta própria.

A intenção deste código é percorrer os números de 1 a 4, ignorar o 2 e exibir os demais. Leia sem executar e observe onde está a atualização.

Código com problema — apenas para leitura

python
numero = 1
while numero <= 4:
    if numero == 2:
        continue
    print(numero)
    numero = numero + 1
print("Fim")

Atenção

Não execute esta versão

Quando numero chega a 2, o laço fica repetindo sem exibir novas mensagens e sem chegar a "Fim". Um laço infinito também pode acontecer em silêncio.

Encontre o caminho que não avança

Analise sem executar

Quando numero vale 2, para qual teste o continue devolve o controle? Qual atualização ele pula? Proponha uma mudança para ignorar o 2 sem prender o laço nesse valor.

Escreva pelo menos 30 caracteres (0/30).

Garanta o avanço nos dois caminhos

Uma correção é atualizar numero antes de continue no caminho que ignora o 2. Nos demais casos, a atualização continua depois de print.

Cada iteração executa apenas uma dessas atualizações: ao passar por continue, a execução pula o restante do corpo. Assim, os valores que queremos exibir são preservados.

Versão corrigida e completa

python
numero = 1
while numero <= 4:
    if numero == 2:
        numero = numero + 1
        continue
    print(numero)
    numero = numero + 1
print("Fim")

O caminho de descarte, antes e depois

Comparação quando numero vale 2. Antes: o teste numero <= 4 leva ao if numero == 2, depois a continue e de volta ao teste com numero ainda igual a 2. Depois: entre o if e continue, numero = numero + 1 muda o valor para 3, e o teste é reavaliado com esse novo valor.

Continue volta ao mesmo teste nas duas versões. A diferença é o valor que chega ao teste.

Confira a correção no seu computador

No seu editor, copie somente a versão corrigida para um arquivo chamado avancar.py. Salve e execute com Python 3 no seu terminal.

Observe os números exibidos e se a mensagem "Fim" aparece. Não é necessário enviar o arquivo.

Relate o resultado

Quais linhas apareceram? Explique por que o laço conseguiu chegar à mensagem "Fim", em vez de ficar preso no valor 2.

Escreva pelo menos 20 caracteres (0/20).

Passo 4 de 5

Criar uma saída alcançável em while True

Reconheça quando usar while True e verifique se a execução consegue chegar a uma condição de saída possível.

Ler primeiro, decidir depois

Em while True, o teste do cabeçalho permanece verdadeiro: ele não encerra o laço por conta própria. Esse formato é útil quando a decisão de parar acontece dentro do corpo, como depois de ler uma entrada. Nesse caso, precisamos de um caminho explícito até break.

Uma saída possível

A entrada exata sair, em letras minúsculas e sem espaços extras, encerra a repetição.

python
while True:
    entrada = input("Digite um texto ou sair: ")
    if entrada == "sair":
        break
    print("Você digitou:", entrada)

print("Encerrado.")

O caminho da entrada até a saída

Fluxograma: ler entrada, testar se é sair. Se sim, executar break e seguir para Encerrado, fora do laço. Se não, exibir a entrada e voltar à leitura.

A decisão vem depois da leitura. O caminho de saída não passa pelo processamento da entrada.

Dica

Não troque toda condição por True

Se uma condição direta no cabeçalho já expressa bem quando repetir, mantenha-a. Use while True quando fizer sentido executar uma ação, como a leitura, antes de decidir pela saída.

Saída possível não é saída garantida

O programa da tela anterior sempre termina por conta própria, mesmo se o usuário continuar digitando apenas textos diferentes de sair, porque existe um break no código.

O break precisa estar no caminho

Não basta escrever break: a execução precisa chegar até ele. Acompanhe este trecho sem executá-lo.

Uma verificação inacessível

python
while True:
    entrada = input("Digite um texto ou sair: ")
    continue
    if entrada == "sair":
        break
    print("Você digitou:", entrada)

print("Encerrado.")

Exemplo

Até a entrada certa falha

Mesmo digitando sair, o continue devolve o controle ao teste do while antes da comparação. O teste continua verdadeiro e uma nova leitura começa. O if, o break e a exibição da entrada nunca são alcançados. Remover esse continue restaura o caminho de saída do primeiro exemplo.

A condição também precisa ser possível

Analise sem executar

python
while True:
    entrada = input("Digite um texto ou sair: ")
    if entrada == "sair" and entrada == "fim":
        break
    print("Você digitou:", entrada)

print("Encerrado.")

Como tornar a saída alcançável?

Existe alguma entrada que execute esse break? Explique e reescreva apenas a linha do if para encerrar com sair. Após a correção, qual instrução será executada imediatamente depois do break?

Escreva pelo menos 20 caracteres (0/20).

Passo 5 de 5

Aplicar e revisar o controle de repetições

Combine break e continue em um script local e verifique os caminhos de processamento, descarte e encerramento.

Um programa, três caminhos

Ler, ignorar ou encerrar

Este programa exibe os textos digitados, ignora uma entrada vazia e encerra quando recebe exatamente sair. A leitura fica no início do corpo: após um continue, o while True testa novamente a condição e chega a uma nova chamada de input.

Script-base completo

No seu computador, salve este código em um arquivo chamado controle.py.

python
while True:
    texto = input("Digite um texto ou sair: ")

    if texto == "":
        continue

    if texto == "sair":
        break

    print("Você digitou:", texto)

print("Programa encerrado.")

Dica

O caminho de saída está livre

A palavra sair não é uma entrada vazia, então não aciona o continue: ela alcança o teste que executa break. O último print, sem recuo, fica fora do laço. A saída é possível, mas o programa continuará pedindo entradas enquanto a palavra de saída não for digitada.

Adapte e teste no seu computador

Troque a palavra de saída

  1. No script-base, substitua sair por fim tanto na mensagem do input quanto na comparação do segundo if. Preserve a indentação.
  2. Salve e execute o arquivo no seu terminal.
  3. Digite Olá e pressione Enter.
  4. Na próxima solicitação, pressione apenas Enter, sem espaços.
  5. Digite fim e pressione Enter.

Observe quando aparece uma nova solicitação, quais entradas são exibidas pelo print e se a mensagem final aparece. Se precisar interromper a execução manualmente, use Ctrl+C no terminal.

Explique o que aconteceu

Relate o resultado de cada uma das três entradas e confirme se a mensagem final apareceu. Explique por que o continue não reutiliza a entrada vazia indefinidamente e por que a palavra fim consegue alcançar o break.

Escreva pelo menos 80 caracteres (0/80).

Revise o destino de cada comando

A pergunta-chave: para onde vai a execução?

break: sai do laço e segue para a primeira instrução depois dele.

continue no for: busca o próximo valor; se não houver outro, o laço termina.

continue no while: volta ao teste da condição. No script que você testou, o teste é sempre verdadeiro e a próxima instrução do corpo faz uma nova leitura.

Três destinos de controle

Diagrama com três caminhos: break sai do corpo do laço para a instrução após o laço; continue no for leva à obtenção do próximo valor; continue no while retorna ao teste da condição.

continue não garante avanço por conta própria no while: o programa precisa renovar o estado, como faz com input a cada passagem.

Controle de repetições em prática

Resumo

Checklist para seus próximos laços

Ao revisar um programa com break e continue, acompanhe cada caminho possível.

  • Use break para encerrar o laço, não o programa inteiro.
  • Use continue para pular apenas o restante da iteração atual; o que veio antes já foi executado.
  • No while, garanta que continue não pule a atualização ou impeça uma nova leitura necessária ao avanço.
  • Em while True, mantenha um caminho explícito e alcançável até break; ele só encerra o laço quando sua condição é atendida.
  • Teste o processamento normal, o descarte e a saída, incluindo a instrução após o laço.

Tutorial concluído

Parabéns! Você concluiu: Controlar repetições com break e continue

Você chegou ao fim de Controlar repetições com break e continue. Agora pode escolher entre encerrar um laço e pular uma iteração, além de verificar se o programa continua avançando e consegue alcançar a saída.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso