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