Cortar o laço ou pular uma volta
break sai do laço na hora, mesmo com a pergunta ainda True. continue não sai. Ele pula as linhas abaixo dele, só nesta volta, e a pergunta é feita de novo. A página do while esperava a pergunta ficar False. print("done") está na mesma altura de while, portanto fora: corre uma vez depois de break, e uma vez quando o laço termina sozinho.
cups começa em 0 e a pergunta é cups < 5. Cada volta escreve o número primeiro. Quando o número é 2, break corre. cups = cups + 1 está abaixo de break, então não corre nessa volta. 2 ainda é menor que 5. A pergunta não falhou. O laço acabou mesmo assim.
cups = 0
while cups < 5:
print(cups)
if cups == 2:
break
cups = cups + 1
print("done")
Você vê 0, depois 1, depois 2, depois done. Não há 3 nem 4. cups guarda 2. Esse 2 foi escrito, e o laço saiu antes de o número avançar.
Pular uma volta e ficar no laço
continue só é seguro se o número avançar antes do pulo. Senão o valor que você quer pular fica parado, a pergunta continua True e o laço não termina. Aqui a primeira linha de dentro soma 1. Se o número for 2, continue pula o print desta volta. O laço volta a cups < 4. A volta seguinte leva o número a 3, e 3 é escrito.
cups = 0
while cups < 4:
cups = cups + 1
if cups == 2:
continue
print(cups)
print("done")
Você vê 1, depois 3, depois 4, depois done. A linha que falta é 2. done está aí porque continue não abandonou o laço. A pergunta falhou mais tarde, sozinha, e a linha de fora correu uma vez.
O mesmo break, agora antes de print
Ponha break acima de print. A volta que chega a 2 sai antes de escrever qualquer coisa. done continua correndo, porque está na altura de while.
cups = 0
while cups < 5:
if cups == 2:
break
print(cups)
cups = cups + 1
print("done")
Você vê 0, depois 1, depois done. cups é 2 de novo, mas dessa vez esse 2 não foi escrito. Os dois programas só diferem no lugar de break.
Se você escrever continue acima de cups = cups + 1, o pulo pode travar o número. cups fica no valor que você ia pular, a pergunta continua True e o laço não termina. Não execute essa ordem. Primeiro mova o número. Depois decida se esta volta pula as linhas sob continue.
break e continue são minúsculos. Break ou Continue com maiúscula é um nome que Python não conhece, e o programa para. A página seguinte numera cada item que percorre e pareia duas listas. Não usa estas duas palavras.
Calcule antes de executar
- O primeiro programa escreve e depois faz break quando cups é 2. O que aparece, e o que cups guarda depois?
- O programa do continue soma 1 antes de pular. Que números são escritos, e done aparece?
- O terceiro programa sai antes de print. O 2 está na tela?
- Você põe continue acima de cups = cups + 1, e o pulo continua valendo. O laço termina?
Onde o resultado muda
- Ainda esperar cups < 5 falhar depois de já ter escrito break
- Esperar 3 e 4 quando break já correu em 2
- Pôr continue antes de o número avançar
- Contar como executada uma linha que está sob break
- Escrever Break ou Continue com maiúscula
Numa leitura
break sai na hora. A pergunta do while pode continuar True. Uma linha na altura de while corre, uma linha sob break não.
Se break está depois de print, você vê 0, 1, 2 e depois done, e cups fica em 2. Se break está antes de print, você vê 0, 1 e depois done, e cups continua 2.
continue só pula as linhas abaixo dele, nesta volta. Se o número avançou primeiro, você vê 1, 3, 4 e depois done, e o 2 não está.
Se o número não avança, continue pode deixar a pergunta True e o laço não termina.
A página seguinte numera cada item e pareia duas listas.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo