Python para declaraciones de bucle

Tiene la capacidad de iterar sobre los elementos de cualquier secuencia, como una lista o una cadena.

Sintaxis

for iterating_var in sequence:
   statements(s)

Si una secuencia contiene una lista de expresiones, primero se evalúa. Luego, el primer elemento de la secuencia se asigna a la variable iterativa iterating_var . A continuación, se ejecuta el bloque de declaraciones. Cada elemento de la lista se asigna a iterating_var , y el bloque de instrucciones se ejecuta hasta que se agota toda la secuencia.

Diagrama de flujo

Ejemplo

#!/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!"

Cuando se ejecuta el código anterior, produce el siguiente 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 secuencia

Una forma alternativa de recorrer cada elemento es mediante el desplazamiento de índice en la secuencia misma. A continuación se muestra un ejemplo simple:

#!/usr/bin/python

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

print "Good bye!"

Cuando se ejecuta el código anterior, produce el siguiente resultado:

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

Aquí, tomamos la ayuda de la función incorporada len (), que proporciona el número total de elementos en la tupla, así como la función incorporada range () para darnos la secuencia real para iterar.

Usando la instrucción else con For Loop

Python admite tener una declaración else asociada con una declaración de bucle

  • Si el else la declaración se usa con un for bucle, el else La instrucción se ejecuta cuando el ciclo se ha agotado iterando la lista.

El siguiente ejemplo ilustra la combinación de una instrucción else con una instrucción for que busca números primos del 10 al 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

Cuando se ejecuta el código anterior, produce el siguiente 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