For Else e While Else no Python – Como Isso Funciona?
Você sabe quando e onde aplicar For Else e While Else no Python em seus códigos? Aprenda hoje a reconhecer e utilizar esses recursos!
No Python, o else também pode ser usado com for e com while: o bloco só é executado quando o laço termina naturalmente, sem passar por um break. É a forma mais limpa de dizer “percorri tudo e não encontrei o que procurava”, sem criar variáveis de controle.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula mostra como usar else junto de for e while no Python. Com um exemplo de vendas acima de um limite de imposto, você aprende a trocar a variável de controle por um else que só executa quando o laço percorre todos os itens sem break. É um recurso específico, feito para buscas do tipo encontrou ou não encontrou.
Neste vídeo (8 min):
- 0:53 - O
elsedoforserve para identificar quando o laço rodou completo, sem ser interrompido no meio - 1:12 - O exemplo: a empresa paga um imposto novo se ao menos uma venda passar do limite de 8 mil
- 1:41 - Um
forpelas vendas comifacima de 8 mil imprime vai pagar imposto três vezes, uma por venda encontrada - 2:15 -
breakdentro doifpara imprimir uma única vez e parar de percorrer a lista - 2:37 - Com o limite em 11 mil nenhuma venda passa, nada é impresso, e um
elsepreso aoifimprimiria a mensagem a cada venda - 3:25 - A saída sem for else: variável
pagar_imposto = Falseque viraTrueantes dobreake é testada depois do laço - 4:26 - O custo dessa variável de controle: quatro linhas a mais só para saber se o laço foi interrompido
- 4:50 - O
elselogo abaixo dofor, na mesma indentação, executa só se nenhumbreakrodou - 5:41 - A lógica do for else: percorrer a lista, interromper ao encontrar e tratar no
elseo caso em que ninguém atendeu à condição - 6:24 - Em código o
elsenão depende doif: com umpassno lugar dobreak, ele roda do mesmo jeito - 7:16 -
while elsesegue a mesma regra: oelseroda quando owhiletermina sembreak
Trechos do vídeo:
- No Python, o
elsede umforou de umwhilesó executa quando o laço termina sem passar por nenhumbreak - Um
elsedentro do laço, ligado aoif, roda a cada item que não atende à condição; para agir só quando nenhum item atende, oelseprecisa ficar na mesma indentação dofor - O for else dispensa a variável de controle que começa como
False, viraTrueantes dobreake é conferida depois do laço - O uso típico é percorrer uma lista procurando um item que satisfaça uma condição, interromper com
breakquando achar e tratar noelseo caso em que nada foi encontrado
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala Impressionadores! Na aula de hoje eu quero falar sobre For Else e While Else no Python!
O Else não é uma exclusividade do If: vamos ter esse recurso tanto no For quanto no While que será executado quando uma dessas estruturas forem executadas até o final.
Isso quer dizer que só vamos rodar o Else do For ou While quando o programa rodar todo o código e não tiver saído de nenhuma das estruturas com o break dentro delas.
Então eu vou te explicar melhor na aula o que é o For Else e o que é o While Else, como eles funcionam e como você vai usar isso, na prática!
É algo bem simples, mas muitas pessoas não sabem que é possível utilizar For Else em Python nem o While Else em Python!
O que é o For Else?
O for else é uma estrutura que temos dentro do FOR, basicamente ele serve para identificar quando o FOR rodou de forma completa sem ter pausado no meio do caminho.
Exemplo
Imagine que estamos analisando uma empresa, e que surgiu uma nova regra em relação ao imposto, a regra estabelece que, se alguma das vendas da empresa ultrapassar um valor mínimo então, será cobrado imposto.
Para fazer esta análise precisamos percorrer todas as vendas e analisar se pelo menos uma das vendas está acima de 8000 -> valor mínimo neste caso.
Para isso vamos usar o Loop de repetição FOR e o IF como condicional.

Rodando este código sem o Break, vamos obter 3 resultados, porque o código irá printar o resultado para cada valor encontrado acima de 8000.
Para que o código printe o resultado apenas 1 vez, levando em consideração que se um só valor está acima da meta já estabelece o imposto. Não precisamos do print repetindo-se várias vezes.
Break
Vamos incrementar o Break no nosso código, com ele a partir do primeiro resultado encontrado acima de 8000 o código já se encerra e dá o resultado, não se repete.

O que acontece se ao invés da nossa meta ser 8000 se ela fosse 11000?
Neste caso a empresa não tem nenhum valor acima de 11000, no código não temos nenhuma opção de resultado para quando a empresa não tem nenhuma venda que gere o imposto.
Neste caso poderíamos pensar em usar o else e um print, mas isso não vai dar certo, porque o resultado será printado repetidas vezes a cada valor abaixo de 11000.

Para resolver este problema temos vários métodos, mas a maioria demanda criar várias linhas de código, então, para facilitar, vamos usar o FOR ELSE:

Neste caso observe que o else está alinhado ao For, e ele será executado somente se o código já rodou por completo e nenhum resultado satisfez a condição do Break, então, só resta a opção de printar o resultado “Não vai pagar imposto”.
While Else
A mesma lógica do FOR se aplica se o loop de repetição usado fosse o While.
Esta estrutura é específica para situações como esta em que o for ou While foram concluídos e a condição não foi satisfeita.
Perguntas frequentes
1. Quando o else de um for é executado no Python?
Apenas quando o for percorre toda a sequência sem encontrar um break. Se o laço for interrompido por um break, o bloco else é ignorado. Por isso ele é ideal em buscas: o else roda somente quando nenhum item da lista satisfez a condição que você procurava.
2. Como funciona o while else no Python?
A lógica é a mesma do for else: o bloco else roda quando a condição do while deixa de ser verdadeira e o laço termina sozinho. Se algum break interromper o while no meio do caminho, o else não é executado. É isso que diferencia as duas saídas do laço.
3. Para que serve o break dentro de um laço?
O break encerra o laço imediatamente, sem executar as repetições restantes. No exemplo da aula, ele interrompe a verificação assim que aparece a primeira venda acima da meta, evitando que a mesma mensagem seja impressa uma vez para cada venda encontrada na lista.
4. Dá para usar for else sem o break?
Dá, mas não faz sentido: sem nenhum break no corpo do laço, o else sempre será executado no final, funcionando como uma linha comum depois do for. É a combinação de else com break que torna a estrutura útil para sinalizar buscas sem resultado.
Conclusão – For Else e While Else no Python
Nesta aula abordamos um tema pouco falado, as estruturas For Else e While Else.
Por ser específico poucas pessoas conhecem esta possibilidade, porém, nestes casos específicos conhecer esta lógica funciona muito em termos de praticidade para resolver o código.
É interessante que você tenha mais esta ferramenta para trabalhar de forma diferenciada!
Eu fico aqui impressionador! Abraço e até a próxima!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!


