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:
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.
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.
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.
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.
Agora nós vamos a ferramenta continue no Python que vai interromper o loop, mas vai dar continuidade a ele.
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.
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.
Para fazermos isso vamos precisar percorrer todos esses valores e fazer a conversão.
Para isso este código de exemplo foi feito:
Vamos explicar rapidamente o que este código está fazendo, observe as cores:
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.
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).
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.
É 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!
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!
Para acessar outras publicações de Python, clique aqui!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.