Python 3 - para instruções de loop

A instrução for em Python tem a capacidade de iterar sobre os itens de qualquer sequência, como uma lista ou uma string.

Sintaxe

for iterating_var in sequence:
   statements(s)

Se uma sequência contém uma lista de expressões, ela é avaliada primeiro. Em seguida, o primeiro item na sequência é atribuído à variável iterativa iterating_var . Em seguida, o bloco de instruções é executado. Cada item da lista é atribuído a iterating_var , e o bloco de instrução é executado até que toda a sequência seja exaurida.

Diagrama de fluxo

A função range ()

A função interna range () é a função certa para iterar em uma sequência de números. Ele gera um iterador de progressões aritméticas.

Exemplo

>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]

Exemplo

range () gera um iterador para o progresso de inteiros começando com 0 até n-1. Para obter um objeto de lista da sequência, ele é convertido em list (). Agora, essa lista pode ser iterada usando a instrução for.

>>> for var in list(range(5)):
   print (var)

Resultado

Isso produzirá a seguinte saída.

0
1
2
3
4

Exemplo

#!/usr/bin/python3

for letter in 'Python':     # traversal of a string sequence
   print ('Current Letter :', letter)
print()
fruits = ['banana', 'apple',  'mango']

for fruit in fruits:        # traversal of List sequence
   print ('Current fruit :', fruit)

print ("Good bye!")

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -

Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n

Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!

Iterando por Índice de Sequência

Uma maneira alternativa de iterar por cada item é por deslocamento de índice na própria sequência. A seguir está um exemplo simples -

Exemplo

#!/usr/bin/python3

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print ('Current fruit :', fruits[index])

print ("Good bye!")

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -

Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!

Aqui, recebemos a ajuda da função interna len (), que fornece o número total de elementos na tupla, bem como a função interna range () para nos dar a sequência real para iterar.

Usando instrução else com loops

Python suporta ter uma instrução else associada a uma instrução loop.

  • Se o else declaração é usada com um for loop, o else O bloco é executado somente se os loops for terminarem normalmente (e não encontrando a instrução break).

  • Se o else declaração é usada com um while loop, o else declaração é executada quando a condição se torna falsa.

Exemplo

O exemplo a seguir ilustra a combinação de uma instrução else com um for declaração que procura um número par em determinada lista.

#!/usr/bin/python3

numbers = [11,33,55,39,55,75,37,21,23,41,13]

for num in numbers:
   if num%2 == 0:
      print ('the list contains an even number')
      break
else:
   print ('the list doesnot contain even number')

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -

the list does not contain even number