Curso de Python

Aprende PYTHON de una buena vez

Cabecera principal de presentación del curso de Inicia en la programación en Python. Aprende a programar en Python desde cero
gratis
texto + video

Ciclo for en Python. Cómo crear, escribir y usar un for en Python

Los ciclos for (o ciclos para) son una estructura de control cíclica. Nos permiten ejecutar una o varias líneas de código de forma iterativa (o repetitiva), pero teniendo cierto control y conocimiento sobre las iteraciones. En el ciclo for en Python, es necesario tener un valor inicial y un valor final, y opcionalmente podemos hacer uso del tamaño del "paso" entre cada "giro" o iteración del ciclo.

En resumen, un ciclo for en Python es una estructura iterativa para ejecutar un mismo segmento de código una cantidad de veces deseada y conocida. Pues necesitamos conoces previamente un valor de inicio, un tamaño de paso y un valor final para el ciclo. Ya veremos los detalles.

¿Cómo funciona un Ciclo For en Python?

Para comprender mejor el funcionamiento del ciclo for, solucionemos un pequeño ejercicio práctico. Supongamos que queremos mostrar los números pares (múltiplos de dos 😋) entre el 500 y el 1000. Con esta información inmediatamente podemos determinar que por medio de un ciclo debemos mostrar una serie de números como la siguiente: 500 502 504 506 ... 600 ... 852 ... 906 ... 980 .. 1000. Tenemos entonces todo lo necesario para nuestro ciclo. Tenemos un valor inicial que sería el 500, un valor final (1000) y tenemos un tamaño de paso que es 2 (los números pares). Estamos ahora en capacidad de determinar los componentes esenciales para un ciclo for.

Vamos a ver ahora la sintaxis de un ciclo for en Python, así estaremos listos para usarlos en nuestros programas de ahora en adelante.

Sintaxis del Ciclo For en Python:

La sintaxis de un ciclo for es simple en Python. En realidad, en la mayoría de los lenguajes de alto nivel es incluso muy similar, de hecho, con tan solo tener bien claros los 3 componentes del ciclo for (inicio, final y tamaño de paso) tenemos prácticamente todo hecho

for variable_contadora in range(valor_inicial, valor_final, tamaño_paso: ... ... Bloque de Instrucciones... ... ... Bloque fuera del ciclo...

Como puedes ver, la magia está en la función range() de Python, pues con esta definimos desde dónde y hasta dónde irá el ciclo, además del tamaño del paso. De hecho, la función range(), solo necesita como mínimo el límite superior, generando así un rango de números desde cero hasta ese límite de uno en uno. Finalmente, esta función omite el último valor, de ese modo, el ciclo va de valor_inicial hasta valor_final - 1 (hay que quitarle uno al valor_final).

Por supuesto, como ya se te hará familiar, la instrucción se llama for, i termina con los dos puntos ":", y los que se ejecute en su interior lleva la indentación. Adicionalmente, variable_contadora nos indicará en qué valor exacto del recorrido de ese rango de números nos encontramos.

No te preocupes si no comprendiste muy bien lo que acabo de escribir, estoy seguro que con un par de ejemplos que veremos a continuación te va a quedar todo claro.

Ejemplos de Ciclo For en Python

A continuación, vamos a ver unos cuantos ejemplos para comprender de manera adecuada el uso de los ciclos for en Python. Recuerda que, si no comprendes alguno de estos ejemplos o tienes alguna pregunta o sugerencia sobre estos o cualquier contenido de la sección, puedes dejarlas en la sección de comentarios

Ejemplo 1: Mostrar en pantalla los números pares

Vamos a retomar el ejemplo mencionado anteriormente, donde deseábamos sacar los números pares entre el número 500 y el 1000 y mostrarlos. Es un ejemplo sencillo con el que nos aseguraremos de haber comprendido bien lo anterior:

Solución inicial del ejemplo 1:

for i in range(500, 1000, 2): print(i)

El código anterior funciona. Sin embargo, seguro notaste al ejecutarlo que solo mostró hasta el 998, incluso aunque 1000 es un número par. Esto es debido a que, como indiqué, range() va hasta el límite superior - 1, así que debes sumarle 1, para que sea incluido, así:

Solución mejorada del Ejemplo 1:

for i in range(500, 1000 + 1, 2): print(i)

Nota: Si no comprendes alguna de las líneas de estos códigos, te recomiendo visitar los contenidos anteriores (Salida de Datos o también puedes dejar un comentario al final de la sección.

Ejemplo 2: Cuenta regresiva en un ciclo for

Ahora veremos otro ejemplo sencillo. Con un ciclo for que haga sus iteraciones en sentido inverso, es decir, disminuyendo el valor del paso, desde el 100 hasta el 0, veamos:

Solución Ejemplo 2:

Para este caso, debido a que queremos ir de un número mayor a uno más pequeño, por lo tanto, para este ejemplo el valor inicial será 100 y el valor final será 0. Adicional, el tamaño de paso será de 1 negativo, es decir, -1, así:

for i in range(100, -1, -1): print(i)

Es importante notar que el ciclo va hasta -1, para que se incluya el 0 en el resultado.

Ejemplo 3: Contador con un ciclo for

Para este ejemplo haremos algo un poco más complejo. El ejemplo consiste en contar al interior de un ciclo for, cuántos números entre el 0 y el 10.000 son múltiplos del 33. Para ello haremos uso del operador % (módulo) que obtiene el residuo de una división y también usaremos un pequeño condicional para verificar que el módulo sea cero al dividir por 33.

Nota: El operador de módulo (%) obtiene el residuo de una división, por tanto, cuando el residuo es cero implica que la división es exacta y el dividendo es un múltiplo del divisor. Por ejemplo 10 % 3 nos dará el residuo de dividir 10 entre 3, el cual es 1, si calculamos 99 % 33 nos dará cero, pues 99 es múltiplo de 33 (33 * 3 = 99).

Solución Ejemplo 3:

Para este caso el valor inicial será 0 y el valor final será 10000. Adicional, el tamaño de paso será de 1 (este es el caso más común). Al interior del ciclo, en cada iteración verificaremos si el número en el que estamos es divisible por 33 o no y en caso afirmativo aumentaremos el contador en una unidad así:

Nota: Este problema se puede solucionar de maneras mucho más eficientes y adecuadas, pero para fines de comprensión y facilidad lo haremos usando un ciclo for de uno en uno.

contador = 0 # Iniciamos el contador en cero for i in range(10000): if (i % 33 == 0): # Preguntamos si el residuo es 0 (es múltiplo de 33) contador += 1 # Si es múltiplo aumentamos el contador en 1 # Si no es múltiplo no hacemos nada #Mostramos el valor del contador print(contador)

Este ciclo for nos permitirá saber que existen 304 múltiplos del número 33 en los números del 0 al 10000 (incluido el 10000 mismo).

Muy bien! De momento es todo en esta sección. Nos leemos en el siguiente contenido. Recuerda también dejar tus comentarios y/o preguntas en la sección de comentarios

La última actualización de este artículo fue hace 3 años

Foto de JuanDMeGon

Juan David Meza González

JuanDMeGon

Magister, Ingeniero, Desarrollador
Web & Instructor

¡Listo!

En breve recibirás un mensaje de confirmación. Verifica, por si acaso, la carpeta de correo no deseado.

...

Si te parece bien, te enviaré de vez en cuando, mensajes de interés sobre los temas que se tratan en el sitio.

Tu dirección de correo electrónico será almacenada con un interés según el artículo en el que te encuentres.

Por supuesto, puedes cancelar tu suscripción en cualquier momento.