Python para instruções de loop

Ele tem a capacidade de iterar os itens de qualquer sequência, como uma lista ou uma string.

Sintaxe

for iterating_var in sequence:
   statements(s)

Se uma seqüê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

Exemplo

#!/usr/bin/python

for letter in 'Python':     # First Example
   print 'Current Letter :', letter

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # Second Example
   print 'Current fruit :', fruit

print "Good bye!"

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 em cada item é por deslocamento de índice na própria sequência. A seguir está um exemplo simples -

#!/usr/bin/python

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

print "Good bye!"

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 For Loop

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 instrução é executada quando o loop esgotar a iteração da lista.

O exemplo a seguir ilustra a combinação de uma instrução else com uma instrução for que procura números primos de 10 a 20.

#!/usr/bin/python

for num in range(10,20):     #to iterate between 10 to 20
   for i in range(2,num):    #to iterate on the factors of the number
      if num%i == 0:         #to determine the first factor
         j=num/i             #to calculate the second factor
         print '%d equals %d * %d' % (num,i,j)
         break #to move to the next number, the #first FOR
   else:                  # else part of the loop
      print num, 'is a prime number'
		break

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

10 equals 2 * 5
11 is a prime number
12 equals 2 * 6
13 is a prime number
14 equals 2 * 7
15 equals 3 * 5
16 equals 2 * 8
17 is a prime number
18 equals 2 * 9
19 is a prime number