PythonAula 1404/09/20261h35
Repetição com while, break e continue
Retoma decisões com if/else e match/case, leitura com input() e float() e apresentação com f-string. O RPG já usou while na batalha; agora a aula aprofunda a repetição, o contador com +=, a flag de controle, a parada com break e o pulo com continue no programa da média.
O que foi falado
00:15:11whilerepete enquanto condição forTrueO while testa uma condição e repete o bloco indentado enquanto ela for True. Quando a condição é False, sai do laço; se já começar falsa, o bloco não executa. A repetição precisa ter uma forma de terminar quando esse for o objetivo, seja mudando a condição ou usando break.
ligado = True while ligado: print("oi") ligado = FalseSaída
oi
Contador com
00:31:54+=para repetir 3 vezesCria
repeticoes = 0fora do laço para contar. Dentro soma comrepeticoes += 1, que é o atalho pararepeticoes = repeticoes + 1. Comrepeticoes <= 2o bloco roda 3 vezes, e Python não tem++de outras linguagens.repeticoes = 0 while repeticoes <= 2: print(repeticoes) repeticoes += 1Saída
0 1 2
Média com somatório, contador e
00:56:08round()Cria
somatorio = 0equantidade = 0fora dowhile, senão Python dá erro por usar variável que nunca foi criada. A cada volta soma anotae conta comquantidade += 1. No fim calculamedia = somatorio / quantidade, arredonda comround(media, 2)e mostra comf-stringcolocando o valor entre{}.somatorio = 0 quantidade = 0 nota = 8.0 while quantidade < 1: somatorio += nota quantidade += 1 media = somatorio / quantidade print(f"{media}")Saída
8.0
Parar com
01:15:47"parar"usando flagUsa
solicitar_notas = Truecomo flag para manter owhilerodando. Setextofor"parar"troca paraFalsepara encerrar e mostrar a média final. Inicializamedia_notas = 0fora, senão digitar"parar"de cara dá erro porquemedia_notasnunca foi criada noelse.solicitar_notas = True while solicitar_notas: print("pede nota") solicitar_notas = False print("fim")Saída
pede nota fim
01:28:07breaksai econtinuepula a vezTroca a flag por
while Truecombreaklogo noif, que sai na hora sem precisar deelseaninhado. Para validar usaif nota < 0 or nota > 10comcontinue, que pula o resto e volta para a próxima volta sem somar. Assim sónotaválida entra nosomatorio.repeticoes = 0 while repeticoes < 3: repeticoes += 1 if repeticoes == 2: continue print(repeticoes)Saída
1 3
Perguntas que valem a pena
Por que o while não roda uma vez só?00:19:08
Porque while repete enquanto a condição for True e nada dentro torna a condição False.
O loop infinito consome memória até o limite?00:19:27
O consumo depende do código repetido. Repetir instruções usa CPU; se o laço acumular dados, também pode aumentar o uso de memória.
Tem como determinar quantas vezes o while vai rodar?00:28:52
Sim, é nossa responsabilidade codar a parada da repetição.
É obrigatório zerar a variável antes do laço?01:08:28
A variável precisa estar inicializada antes de seu valor ser usado. O valor inicial depende do objetivo; nos exemplos de somatório e contador da aula, começa em zero.
Conceitos da aula
- while
- loop infinito
- iteração
- contador
- +=
- somatório
- f-strings
- round()
- flag
- break
- continue
- validação de entrada
Reforce este assunto
- Laços `for` e `while` com `range`, `break` e `continue`Python · trilha, etapa 7
- Listas: criação, operações e repetiçãoPython · trilha, etapa 8
- Primeiros programas em Python: Hello World, strings e printPython · trilha, etapa 1