En Python el bucle o ciclo for es diferente a lenguajes como C o Java. A continuación el primer ejemplo:
# decodigo.com for i in range(5, 10): print(i)
Al ejecutar el código obtenemos este resultado:
Usando la función range(), se itera sobre una secuencia que va desde 5 hasta 9 (no se incluye el 10).
Una forma de simplificar el uso de range() es usando sólo el valor máximo:
# decodigo.com for i in range(10): print(i)
La función range() devuelve valores que van desde 0 hasta 10, no fue necesario especificar que comienza desde 0.
El ciclo for con la función range(), también permite iterar sobre un rango no sólo haciendo incrementos en 1, también se puede hacer el incremento especificando un valor como se muestra a continuación:
# decodigo.com for i in range(0, 10, 2): print(i) print() for i in range(0, -10, -2): print(i)
El resultado son dos secuencias de valores donde en cada iteración el incremento es de 2 y -2.
Iterar sobre una lista en Python
Otra forma del ciclo for en Python es la que permite iterar sobre los elementos de una tupla o lista.
# decodigo.com for i in (3, 5, 3, 6, 100): print(i)
Este sería el resultado:
Una variante más del for en Python que puede ser útil según sea el caso es una que permite ejecutar un bloque de código una vez que se ha terminado las iteraciones sobre una lista, el ciclo for-else.
# decodigo.com for i in (3, 5, 3, 6, 100): print(i) else: print("Finalizado")
Al final de las iteraciones del ciclo for, se imprimirá «Finalizado«.
Nota: Las capturas de estos ejemplos se editan y ejecutan en PyCharm Community.
Más información en inglés: https://geekole.com/for-loop-and-range-in-python/