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 else do for serve 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 for pelas vendas com if acima de 8 mil imprime vai pagar imposto três vezes, uma por venda encontrada
  • 2:15 - break dentro do if para 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 else preso ao if imprimiria a mensagem a cada venda
  • 3:25 - A saída sem for else: variável pagar_imposto = False que vira True antes do break e é 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 else logo abaixo do for, na mesma indentação, executa só se nenhum break rodou
  • 5:41 - A lógica do for else: percorrer a lista, interromper ao encontrar e tratar no else o caso em que ninguém atendeu à condição
  • 6:24 - Em código o else não depende do if: com um pass no lugar do break, ele roda do mesmo jeito
  • 7:16 - while else segue a mesma regra: o else roda quando o while termina sem break

Trechos do vídeo:

  • No Python, o else de um for ou de um while só executa quando o laço termina sem passar por nenhum break
  • Um else dentro do laço, ligado ao if, roda a cada item que não atende à condição; para agir só quando nenhum item atende, o else precisa ficar na mesma indentação do for
  • O for else dispensa a variável de controle que começa como False, vira True antes do break e é conferida depois do laço
  • O uso típico é percorrer uma lista procurando um item que satisfaça uma condição, interromper com break quando achar e tratar no else o 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.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

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.

Análise de imposto
Análise de imposto

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.

Resultado - Break
Resultado – Break

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.

Else - Valores repetidos
Else – Valores repetidos

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:

FOR ELSE
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!


Quer aprender mais sobre Python com um minicurso básico gratuito?