Python

Loops em Python

Loops em Python

Fala galera do mundo dos dados! Chegando mais um conteúdo da Iniciação em Python – Começando do ZERO. E o tema de hoje são os loops da linguagem Python. 

Os loops são uma outra forma de lógica da linguagem Python. São utilizados loops quando uma mesma instrução ou conjunto de instruções precisa ser repetida várias vezes seguidas. O laço de repetição, como também é conhecido, permite executar um bloco repetidas vezes, enquanto uma dada condição é atendida. Veremos os loops for e while e de quebra os comandos continue e break para otimizar o controle desses loops. Dessa forma, ao final deste post você vai aprender: o que é um loop, como fazer loop no Python, como usar for no Python, como usar while no Python, como não fazer loop infinito no Python e muito mais.

For no Python

O loop for percorre os itens de uma coleção e, para cada um deles, executa um bloco de instruções, ou seja permite percorrer sequências previamente conhecidas. Sendo assim, podemos usar essa interação com a coleção de várias formas possíveis. Não vai resolver todos os seus problemas, mas a criatividade e o tempo de espera da execução é o limite. Um exemplo clássico para clarear o entendimento.

Exemplo de Loop for no Python

# Criação de uma lista
animais = [ 'gato', 'rato', 'tatu', 'pato' ] 
# Loop for n vezes na lista animais
for n in animais: 
  # Imprime as n vezes do loop for
  print( n ) 

Na imagem abaixo vamos ter o resultado do código, onde foi impresso os 4 itens da lista animais, um por vez a cada iteração do loop através da variável n.

Loop for no Python

Loop for Python com Dicionários

Vamos a mais exemplos do loop for Python, agora utilizando dicionários. Criada a variável dic com o dicionário de letras e números.

# Criação de um dicionário
dic = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}

Então, temos o dicionário criado na variável dic.

Primeiramente, faremos o loop for Python com chave do dicionário.

# Loop com a chave do dicionário
for k in dic.keys():
  # Imprime as chaves no loop for
  print( k )

Assim, temos o laço de repetição imprimindo cada chave do dicionário dic.

Loop for Python com Dicionários

Em seguida, faremos o loop for Python com valor do dicionário.

# Loop com os valores dicionário
for v in dic.values():
  # Imprime os valores no loop for
  print( v )

Observe na imagem todos os valores do dicionário sendo impressos.

Loop for Python com Dicionários

Para finalizar, faremos o loop for Python com chave e valor do dicionário.

# Loop com os valores dicionário
for k,v in zip(dic.keys(),dic.values()):
  # Imprime os valores no loop for
  print(f'key -> {k} -> value -> {v}')

Então, com o auxilio da função zip, passamos duas variáveis no loop for, e imprimimos chave e valor do dicionário a cada interação.

Loop for Python com Dicionários

Loop for Python com Dicionários

Seguimos nos exemplos do loop for Python, desta vez com a função range. Criaremos um loop for que itera sobre uma sequência de números gerados pela função range.

# Loop com um range
for r in range(5):
  # Imprime o range no loop for
  print( r )

O resultado desse código é que ele imprimirá os números de 0 a 4, um por vez, em cada iteração do loop for. Sendo assim, temos a imagem a seguir.

Loop for Python com Dicionários

Loop for Python com String

Para o exemplo de loop for Python com string, criaremos uma variável texto com a palavra Python. O laço de repetição for que itera por cada caractere em uma string chamada texto e vai imprimindo os caracteres.

# Criação uma string
texto = 'Python'
# Loop com uma string
for s in texto:
  # Imprime a string no loop for
  print( s )

Como resultado desse código ele imprimirá cada caractere da string ‘Python’ em uma linha separada.

Loop for Python com String

Loop for Python com Else

Podemos acrescentar o Else como uma finalização do loop for Python. Utilizaremos o exemplo acima do laço de repetição for, acrescido da condição else para finalizar o loop.

# Loop com else
for s in texto:
  # Imprime a string no loop for
  print( s )
# Mensagem após a finaização do loop for
else:
  # Imprime quando finalizar o loop for
  print('String completa! Fim do Loop!')

Então, similar ao exemplo anterior, ele imprimirá cada caractere da string ‘Python’ em uma linha separada e ao final irá imprimir a mensagem de fim do loop.

Loop for Python com Else

While no Python

O loop while executa um bloco de instruções várias vezes enquanto atende a uma condição, ou seja, ele permite a repetição de instruções enquanto uma condição é verdadeira. Um código de exemplo para ficar fácil.

Exemplo de Loop while no Python

# Atribui valor 1 a variável count
count = 1 
# Loop while enquanto count menor que 6
while count < 6: 
  # Imprime enquanto count for menor que 6
  print( count, 'é menor que 6' ) 
  # Incremente 1 ao count em cada loop while
  count = count + 1 

O resultado do código na imagem abaixo mostra que enquanto o valor da variável count for menor que 6, o bloco de instruções vai ser executado, imprimindo o contador na mensagem e somando + 1 a cada iteração do loop até não satisfazer mais a condição.

Loop while Python

Loop while Python com Booleano

Para o loop while Python com booleano, criamos uma variável de controle chamada chave. A ideia principal deste código é continuar aumentando o valor da variável count até que ela atinja 6. Nesse ponto, definimos a variável chave como False, o que encerra o loop. Observe o código a seguir.

# Atribui valor veradeiro variável chave
chave = True
# Atribui valor 1 a variável count
count = 1
# Loop while enquanto count menor que 6
while chave:
  # Imprime enquanto count for menor que 6
  print( count, 'é menor que 6' )
  # Incremente 1 ao count em cada loop while
  count = count + 1
  # verifica a chave d loop
  if count == 6:
    chave = False

Como resultado da execução temos a imagem a seguir.

Loop while Python com Booleano

Loop while Python com Else

Podemos acrescentar o Else como uma finalização do loop while Python. Utilizaremos o primeiro exemplo do laço de repetição while, acrescido da condição else para finalizar o loop.

# Atribui valor 1 a variável count
count = 1
# Loop while enquanto count menor que 6
while count < 3:
  # Imprime enquanto count for menor que 6
  print( count, 'é menor que 3' )
  # Incremente 1 ao count em cada loop while
  count = count + 1
# Mensagem após a finaização do loop while
else:
  # Imprime após o fim do loop
  print('String completa! Fim do Loop!')

Então, temos a imagem com a execução do código acima.

Loop while Python com Else

Loop infinito Python

O Loop infinito pode acontecer em qualquer linguagem e no Python não é diferente. Ele ocorre quando um laço de repetição é mal programado e a aplicação não consegue sair da condição do loop. No código Python a seguir, criamos um loop while que se executa indefinidamente. O objetivo desse código é imprimir a mensagem enquanto a variável count for menor que 3.

# Loop inifinito NÃO FAÇAM ISSO EM CASA
count = 1
# Loop while enquanto count menor que 6
while count < 3:
  # Imprime enquanto count for menor que 6
  print( count, 'é menor que 3' )

Como resultado, temos a imagem abaixo. Não ocorre atualização do valor de count em nenhuma interação. Portanto, o valor de count permanece 1 e a condição count < 3 continua sendo verdadeira. Isso resulta em um loop infinito, pois o código imprime repetidamente “1 é menor que 3” indefinidamente, sem parar.

Loop infinito Python

Para para o loop infinito, só finalizando a aplicação. Assim, temos a mensagem exibida na imagem a seguir.

Loop infinito Python

É importante observar que esse é um exemplo de um loop infinito Python, e deve ser evitado, a menos que haja uma lógica específica para sair do loop, como uma declaração break quando uma condição for atendida. Caso contrário, o programa continuará a executar indefinidamente, consumindo recursos da máquina.

Continue e Break no Python

Para ajudar e otimizar o controle dos loops temos os comando continue e break, que já trazem em seus nomes basicamente as suas funções. Para iniciar imediatamente a próxima volta do loop, use o comando continue e para encerrar imediatamente o loop, use o comando break, veremos os exemplos.

Exemplo de continue no Python

# Criação de uma lista
animais = [ 'gato', 'rato', 'tatu', 'pato' ] 
# Loop for n vezes na lista animais
for n in animais: 
  # Verifica a condição n igual a tatu
  if n == 'tatu': 
    # Passa para o próximo loop for nesse ponto
    continue 
  # Imprime as n vezes do loop for
  print( n ) 

Ao utilizar o continue dentro de uma condição if, no caso a palavra tatu, quando esse item é encontrado na lista ele passa para o próximo item sem executar as instruções após o continue, no nosso caso a impressão deste item, imprimindo apenas os outros animais da lista, como podemos ver na imagem abaixo.

Exemplo de continue no Python

Exemplo de break no Python

# Atribui valor 0 a variável count
count = 1 
# Loop while enquanto count menor que 6
while count < 6: 
  # Verifica a condição n igual a 4
  if count == 4: 
    # Para a execução do loop while nesse ponto
    break 
  # Imprime enquanto for menor que 6
  print( count, 'é menor que 6' ) 
  # Incremente 1 ao contador em cada loop while
  count = count + 1 

Ao utilizar o break dentro de uma condição if, quando a mesma é atendida ele interrompe a execução do while naquele exato momento, imprimindo apenas 3 interações do while até encontrar a instrução break, como podemos ver na imagem abaixo.

Exemplo de break no Python

Loops em Python ao Cubo

E então, chegamos ao fim de mais um conteúdo da série Iniciação em Python – Começando do ZERO. Hoje foi dia de Loops em Python, ou somente laços de repetição. Vimos loop for Python, loop while Python e as estruturas de parada continue e break. Assim, aprendemos: o que é um loop, como fazer loop no Python, como usar for no Python, como usar while no Python, como não fazer loop infinito no Python e muito mais. Então subimos mais um degrau, espero que esses conteúdos te ajude a subi na escadinha da sua jornada e até a próxima! Abraços ao cubo.

Conteúdos ao Cubo

Por fim, deixo sugestões de outros conteúdos que você vai encontrar no Dados ao Cubo, sempre trazendo um pouco do mundo dos dados.

Finalizo com um convite para você ser Parceiro de Publicação Dados ao Cubo e escrever o próximo artigo, compartilhando conhecimento para toda a comunidade de dados. Não esqueça de assinar a nossa Newsletter para ficar por dentro de todas as novidades. 

Gostou? Compartilhe!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *