Você gostou do post,
e
quer mais?
Me paga um café! :) PIX consultoria@carlosdelfino.eti.br
Curta o post no final da página, use o Disqus, compartilhe em sua rede social. Isso me ajuda e motiva
Obrigado.

Veremos neste artigo as estruturas de controle de loop, são estruturas que repetem blocos de código continuamente dentro de uma condição estipulada pelo programador.

O python possui diversas estruturas de controle, entre eleas estruturas para loop e tomada de decisão, além de controle de fluxo do código e controle de erros, e também uma estrutura para contextualização de código.

As estruturas de controle para loop são compostas de duas partes, o cabeçalho que é composto por uma declaração que identifica o tipo de loop, a condição para repetição e finalizado com dois pontos :, em seguida o corpo com as instruções que serão repetidas.

Loops com while

while é usado para criar um loop que é continuamente executado enquanto uma declaração lógica é verdadeira.

Vamos fazer um loop para lidar com elementos de uma lista, já vimos o que é uma lista no artigo Introdução ao Python - Tipos de Dados

Uma lista quando está cheia retorna sempre True, mas quando está vazia retorna False, sendo assim podemos executar um loop while enquanto ouver elementos na lista, no exemplo abaixo fazendo este teste que pode ser descrito da seguinte forma: Enquanto ouver itens, retire um item e imprima na tela.

>>> idades = [22,43, 21, 30, 88, 90, 57, 86]
>>> idades.sort()
>>> idades.reverse()
>>> while idades:
...     print(idades.pop())
...
>>>

No codigo acima, criamos uma lista qualquer que representa idades de pessoas desconhecidas, em seguida pedimos ao python que ordene esta lista de forma crescente, e em seguida invertemos a ordem desta lista, assim temos a lista em forma decresente. Poderiamos ter informado a função sorto parametro reverse e poupado uma linha de código. finalmente criamos a estrutura de loop com a declaração while que certifica se nosso objeto idades tem elementos, caso verdadeiro, ele retira um elemento e imprime-o na tela.

Vejamos outro exemplo:

>>> planetas = [
...  'Mercurio',
...  'Vênus',
...  'Terra',
...  'Marte',
...  'Júpiter',
...  'Saturno',
...  'Urano',
...  'Netuno',
...  ]
...
>>> planetas.sort(reverse=True)
>>> while planetas:
...     print(planetas.pop())
... 
>>> 

Loops com for

O for é um outro tipo de loop que permite maior controle, você pode interagir sobre um range, lista, tuple, string ou dicionário ou qualquer outro objeto que seja do tipo interable.

Vamos ver dois exemplos, o primeiro interagindo sobre um range, o seguindo sobre um dicionário.

>>> for idx in range(4,25,2):
...     print(idx)
...
>>>

No exemplo logo acima, declaramos um loop do tipo for que irá interagir sobre um range de inteiros iniciando em 4 e finalizando em 25, com passos de 2 em 2.

Já no próximo exemplo iremos interagir com um dicionário obtendo os valores neles armazenados.

>>> planetas = {
...  'Sol': 696342,
...  'Júpiter': 69911,
...  'Saturno': 58232,
...  'Urano': 25362,
...  }
>>> for nome in planetas:
...     print('Planeta {planeta} tem o raio de {raio:.2f}'.format(planeta=nome, raio=planetas[nome]))

No exemplo acima para cada chave no dicionário planetas ele faz um loop sobre as instruções identadas no corpo do loop, então ele formata uma string inserindo nela a propriedade planeta e raio, sendo esta do tipo float com duas casas na fração. Veremos em breve como formatar strings.

Conclusão

Aprendemos um pouco mais sobre o python, controlamos loops e lidamos com listas e dicionários, veremos no próximo artigo como tomar decisões e alterar o fluxo do código executando blocos de códigos conforme condições determinadas.

Fontes:

  • https://cieda.com.br
  • https://docs.python.org/3/reference/compound_stmts.html
  • https://www.w3schools.com/python/ref_string_format.asp
  • https://docs.python.org/pt-br/3/tutorial/inputoutput.html

Não deixe de me pagar um café, faz um PIX: consultoria@carlosdelfino.eti.br de qualquer valor.


Carlos Delfino

Escrito por:

Desenvolvedor e consultor para projetos com Microcontroladores e Mobile

Google LinkedIn Digg Reddit StumbleUpon

Atualizado em