
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.
Trilha de aprendizado · Nível 2 · Tutorial 6
Encerrar um laço antecipadamente ou pular parte de uma iteração sem perder o controle do fluxo de execução.
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
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
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
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
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

Passo 1 de 5
Interrompa uma repetição quando uma condição for atendida e acompanhe a execução até a instrução após o laço.
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.
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.
for numero in range(1, 6):
if numero == 3:
break
print(numero)
print("Fim")
A seta que sai de break não volta ao for: ela leva à instrução fora do laço.
No exemplo anterior, numero chegou a 3 e o break foi executado. O que acontece em seguida?
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.
Acompanhe o valor de numero até a condição de parada ser atendida.
numero = 1
while numero <= 5:
if numero == 3:
break
print(numero)
numero = numero + 1
print("Fim:", numero)Exemplo
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).
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
Use continue em um for para ignorar valores sem encerrar o percurso e identifique quais instruções ainda são executadas.
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.
for numero in range(1, 5):
if numero == 2:
continue
print(numero)
print("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.
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 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.
for numero in range(1, 4):
print("Antes", numero)
if numero == 2:
continue
print("Depois", numero)
print("Fim")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
Identifique quando continue impede o avanço de um while e corrija o fluxo sem mudar os valores que devem ser exibidos.
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.
numero = 1
while numero <= 4:
if numero == 2:
continue
print(numero)
numero = numero + 1
print("Fim")Atençã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.
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).
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.
numero = 1
while numero <= 4:
if numero == 2:
numero = numero + 1
continue
print(numero)
numero = numero + 1
print("Fim")
Continue volta ao mesmo teste nas duas versões. A diferença é o valor que chega ao teste.
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.
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
Reconheça quando usar while True e verifique se a execução consegue chegar a uma condição de saída possível.
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.
A entrada exata sair, em letras minúsculas e sem espaços extras, encerra a repetição.
while True:
entrada = input("Digite um texto ou sair: ")
if entrada == "sair":
break
print("Você digitou:", entrada)
print("Encerrado.")
A decisão vem depois da leitura. O caminho de saída não passa pelo processamento da entrada.
Dica
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.
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.
Não basta escrever break: a execução precisa chegar até ele. Acompanhe este trecho sem executá-lo.
while True:
entrada = input("Digite um texto ou sair: ")
continue
if entrada == "sair":
break
print("Você digitou:", entrada)
print("Encerrado.")Exemplo
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.
while True:
entrada = input("Digite um texto ou sair: ")
if entrada == "sair" and entrada == "fim":
break
print("Você digitou:", entrada)
print("Encerrado.")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
Combine break e continue em um script local e verifique os caminhos de processamento, descarte e encerramento.
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.
No seu computador, salve este código em um arquivo chamado controle.py.
while True:
texto = input("Digite um texto ou sair: ")
if texto == "":
continue
if texto == "sair":
break
print("Você digitou:", texto)
print("Programa encerrado.")Dica
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.
sair por fim tanto na mensagem do input quanto na comparação do segundo if. Preserve a indentação.Olá e pressione Enter.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.
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).
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.

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.
Resumo
Ao revisar um programa com break e continue, acompanhe cada caminho possível.
Parabéns! Você concluiu: Controlar repetições com break e continue
Milhares de cursos online em vídeo, ebooks e áudiobooks.
Para testar seus conhecimentos no decorrer dos cursos online
Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail
Baixe nosso aplicativo pelo QR Code ou pelos links abaixo:.
+ de 10 milhões
de alunos
Certificado grátis e
válido em todo o Brasil
60 mil exercícios
gratuitos
4,8/5 classificação
nas lojas de apps
Cursos gratuitos em
vídeo, ebooks e audiobooks