Blog

Postado em em 18 de dezembro de 2021

Break e Continue no Python – Ferramentas da Estrutura de Repetição

Na aula de hoje eu quero te mostrar como funcionam as ferramentas break e continue no Python para as estruturas de repetição.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Break e Continue no Python

Você sabe para que servem o Break e o Continue dentro do Python? Na aula de hoje eu quero te mostrar essas ferramentas da estrutura de repetição e como elas podem te auxiliar.

São ferramentas muito úteis que vão te auxiliar quando estiver escrevendo seu código para não ter problemas em alguns casos.

Ferramentas da Estrutura de Repetição

Primeiro é interessante que você tenha o conhecimento sobre a estrutura de repetição FOR, pois essas ferramentas serão utilizadas dentro dessa estrutura.

Primeiro nós vamos utilizar a biblioteca pandas, que é uma biblioteca de análise de dados, para que você possa importar arquivo em Excel para o Python.

Importação dos dados do Excel
Importação dos dados do Excel

Ferramenta Break

Vamos começar pela ferramenta break no Python que é uma ferramenta para interromper e encerrar um loop.

Isso quer dizer que vamos parar o loop naquele momento e vamos sair dele.

Ferramenta Break no Python
Ferramenta Break no Python

Nesse exemplo temos um for (loop) para verificar todas as vendas dentro dessa tabela, em seguida vamos pegar o faturamento (que começa em 0) e vamos somar com a venda.

Assim a cada iteração nós vamos ter o faturamento total, ou seja, vamos ter a soma das vendas.

Só que temos uma estrutura condicional if para verificar se esse faturamento é maior do que 30.000.

Então a primeira vez que o nosso faturamento for maior do que 30.000 nós vamos entrar na estrutura if, vamos fazer o print de que batemos a meta e por fim vamos a ferramenta break.

Essa ferramenta vai interromper o loop e vai sair dele, isso quer dizer que não vamos mais continuar percorrendo a nossa tabela de vendas.

Vamos sair da estrutura de repetição e dar continuidade ao código caso exista mais ações a serem feitas.

Ferramenta Continue

Agora nós vamos a ferramenta continue no Python que vai interromper o loop, mas vai dar continuidade a ele.

Ferramenta Continue no Python
Ferramenta Continue no Python

Nesse caso nós estamos calculando o imposto para cada uma das lojas, mas se uma dessas lojas tiver o nome “Porto Alegre” nós vamos apenas dar continuidade a próxima iteração.

Isso quer dizer que não vamos fazer mais nada dentro dessa estrutura de repetição para essa iteração específica.

Só que a ferramenta continue não encerrar o loop, ela apenas interrompe, então neste caso nós vamos fazer o cálculo do imposto, mas como temos a loja que entre no IF e dentro dele existe o comando continue, o Python vai passar direto para a próxima iteração sem executar o restante do código dentro do FOR.

Essas duas ferramentas são muito úteis, pois em alguns casos você vai chegar no seu objetivo e vai querer que essa estrutura de repetição pare de vez.

Que foi o nosso primeiro caso, queríamos apenas até o ponto de bater a meta, não vamos querer que o código seja executado mais vezes.

Principalmente quando temos muitas informações, então é muito importante usar essas ferramentas.

Outro caso é o do continue, que para determinados casos não vamos querer fazer nenhum tratamento que está dentro dessa estrutura de repetição.

E ao invés de criar um código separado só para isso podemos verificar se a condição e verdadeira e adicionar o continue, por exemplo.

Mais Sobre o Comando Continue no Python

Aqui vou deixar mais um vídeo e mais uma explicação para que você entenda de fato como funciona o comando continue no Python!

Vou abordar outros exemplos para que consiga entender melhor esse comando.

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Para te explicar o comando continue no Python vamos usar exemplos práticos que estão no material didático disponível para download.

O código abaixo é o que vamos usar como base para nossa aula, esta estrutura vai funcionar em qualquer editor de código.

def converter(valor):
	posicao_cifrao = valor.find("$")
	valor = int(valor[posicao_cifrao+1:])
	return valor * 5.2

with open("valores.txt", "r") as arquivo:
	lista_valores = arquivo.readlines()

print(lista_valores)

continue

O que é “continue”?

Este comando vai te permitir continuar, ou seja, pular a execução de um loop, por exemplo…

Exemplo prático:

Neste exemplo vamos converter de real para dólar os valores de uma lista.

Lista de valores.
Lista de valores.

Para fazermos isso vamos precisar percorrer todos esses valores e fazer a conversão.

Para isso este código de exemplo foi feito:

Comando Continue no Python
Entenda o código.

Vamos explicar rapidamente o que este código está fazendo, observe as cores:

  • Laranja: Este código recebe um valor e converte este valor de dólar para real.
  • Verde: O código desta linha “With open” vai abrir o nosso arquivo de “valores.txt” em um formato de leitura “r” e salvar na variável arquivo.
  • Rosa: Nesta linha de código vamos extrair as diferentes linhas de texto que estão dentro do arquivo usando o arquivo.readlines()” e depois salvar essas informações na nossa “lista_valores”.
  • Azul: Por fim o Print vai imprimir, ou seja, mostrar no código o que tem dentro da “lista_valores”.

Criando o conversor:

Agora que entendemos as estruturas básicas deste código vamos modificá-lo um pouco para chegar no nosso abjetivo.

Vamos utilizar o loop for (estrutura de repetição) para percorrer e printar os valores da nossa lista_valores.

def converter(valor):
	posicao_cifrao = valor.find("$")
	valor = int(valor[posicao_cifrao+1:])
	return valor * 5.2

with open("valores.txt", "r") as arquivo:
	lista_valores = arquivo.readlines()

for item in lista_valores:
	print(item)

Resultado do código:

R$1500

linha vazia

R$1000

linha vazia

R$500

Nossa intenção é retirar essas linhas vazias que aparecem ao executar o código. São linhas vazias e não o texto “linha vazia”.

def converter(valor):
	posicao_cifrao = valor.find("$")
	valor = int(valor[posicao_cifrao+1:])
	return valor * 5.2

with open("valores.txt", "r") as arquivo:
	lista_valores = arquivo.readlines()

for item in lista_valores:
	item = item.replace("\n", "")
	print(item)

Nesta coluna o código está dizendo que o novo valor de “item” será o “valor de item que agora é igual ao número + o enter”, o novo valor será este número, porém, trocando o enter que no Python é representado por “\n”, por um espaço vazio.

Ou seja, quando houver o enter será substituído por espaço vazio e aí, sim, será printado.

Agora todos os itens serão exibidos um abaixo do outro sem o enter que aparecia anteriormente:

R$1500

$1000

$500

$350

R$1250

def converter(valor):
	posicao_cifrao = valor.find("$")
	valor = int(valor[posicao_cifrao+1:])
	return valor * 5.2

with open("valores.txt", "r") as arquivo:
	lista_valores = arquivo.readlines()

for item in lista_valores:
	item = item.replace("\n", "")
	valor_convertido = converter()

Convertendo os valores:

O “valor convertido” vai executar a função “converter” -> “def converter(valor)”, passando para a função o valor que queremos converter.

O valor que queremos converter é o valor de “item” como mostra a imagem abaixo.

Item

Agora, se for printar o valor de “item” aparentemente o resultado vai estar certo, porém, observem que alguns valores da lista já estavam em reais e o código também multiplicou estes valores por 5,2 (cotação do dólar – 08/12/22).

Convertendo todos os valores.
Convertendo todos os valores.

Como ajustar?

Teremos que fazer o código entender que ele só deve executar a conversão para real quando o valor estiver em dólar, ou seja, quando o valor for antecipado por “$”.

Podemos fazer isso usando a estrutura do IF, por exemplo, se “R$” não estiver em item, então, execute o código…

Esta é uma possibilidade válida:

def converter(valor):
	posicao_cifrao = valor.find("$")
	valor = int(valor[posicao_cifrao+1:])
	return valor * 5.2

with open("valores.txt", "r") as arquivo:
	lista_valores = arquivo.readlines()

for item in lista_valores:
	if "R$" not in item:
		item = item.replace("\n", "")
		valor_convertido = converter()
		print(valor_convertido)

A outra forma de fazer isso é usando o “continue”.

Função “Continue”:

Dessa forma ao invés de colocarmos todo o nosso código indentado ao “If”, vamos colocar continue.

Neste exemplo nosso código é pequeno e talvez por isso você questione se não é melhor usar o “If” e indentar todo o código abaixo dele, mas, se o código fosse gigante com certeza o “continue” seria a opção melhor.

Neste caso temos:

Se o “R$” estiver no item, então, continue (passe para o próximo).

def converter(valor):
	posicao_cifrao = valor.find("$")
	valor = int(valor[posicao_cifrao+1:])
	return valor * 5.2

with open("valores.txt", "r") as arquivo:
	lista_valores = arquivo.readlines()

for item in lista_valores:
	if "R$" in item:
		continue
	item = item.replace("\n", "")
	valor_convertido = converter()
	print(valor_convertido)

Dessa forma o código abaixo de continue não precisa estar indentado e poupa este trabalho de fazer a indentação em todo o código que além de perder tempo ainda deixa o código menos visual se forem muitas indentações.

O que o “continue’ está fazendo é verificando se a condição do If é verdadeira, se for, então ele pula o código e retorna para o “For” novamente, verificando o próximo valor.

Se O “R$” não estiver e a condição for falsa, então o código vai até o final convertendo o valor normalmente.

Resultado

É possível fazer esta lógica sem o “continue”?

Sim, porém teríamos mais trabalho ainda mais se fosse um código maior.

O “continue” é mais fácil de implementar do que o If, sempre que você precisar passar para o próximo, seja no começo ou no fim do seu código, será muito vantajoso dominar o uso do “continue”.

Gostou da aula?

Temos mais dicas para você ficar expert em Python!

Conclusão – Break e Continue no Python

Nessa aula eu te mostrei como utilizar os comandos break e continue no Python para que você possa parar ou continuar e pular partes do seu código sem precisar indentar todo o código como faríamos usando a estrutura If.

Com este comando continue você consegue, a partir de uma condição, decidir se o restante do código será lido ou se o código deve recomeçar a análise a partir do continue.

Já o break, vai finalizar a estrutura que está sendo executada, assim não precisa continuar com ela até o final. O que é muito útil dentro de estruturas de repetição, se já fez o que precisava, não precisa continuar passando por todos os elementos.

Agora você já pode incrementar essas funcionalidades dentro dos seus próximos projetos de automação em Python!

Eu fico por aqui! Até breve!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


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

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador