Python 3: para declaraciones de bucle
La instrucción for en Python 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
La función range ()
La función incorporada range () es la función correcta para iterar sobre una secuencia de números. Genera un iterador de progresiones aritméticas.
Ejemplo
>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
Ejemplo
range () genera un iterador para progresar enteros que comienzan con 0 hasta n-1. Para obtener un objeto de lista de la secuencia, se convierte en list (). Ahora esta lista se puede iterar usando la instrucción for.
>>> for var in list(range(5)):
print (var)
Salida
Esto producirá el siguiente resultado.
0
1
2
3
4
Ejemplo
#!/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!")
Salida
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:
Ejemplo
#!/usr/bin/python3
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print ('Current fruit :', fruits[index])
print ("Good bye!")
Salida
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.
Uso de la instrucción else con bucles
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 El bloque se ejecuta solo si los bucles for terminan normalmente (y no al encontrar una declaración de interrupción).
Si el else la declaración se usa con un while bucle, el else La sentencia se ejecuta cuando la condición se vuelve falsa.
Ejemplo
El siguiente ejemplo ilustra la combinación de una instrucción else con una for declaración que busca un número par en la lista dada.
#!/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')
Salida
Cuando se ejecuta el código anterior, produce el siguiente resultado:
the list does not contain even number