sábado, 27 de julio de 2024

Funciones de bucle: ciclo for

Función de bucle FOR

En general, un bucle es una estructura de control que repite un bloque de instrucciones. Un bucle for es un bucle que repite el bloque de instrucciones un número prederminado de veces. El bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada repetición se suele llamar iteración.

La sintaxis de un bucle for es la siguiente:

No es necesario definir la variable de control antes del bucle, aunque se puede utilizar como variable de control una variable ya definida en el programa.

El cuerpo del bucle se ejecuta tantas veces como elementos tenga el elemento "iterable" (elementos de una lista o de un range(), caracteres de una cadena, etc.). Por ejemplo:



Como se puede observar, la lista tiene 3 elementos, por ello, el cuerpo del bloque, que solamente es la impresión de la cadena 'Ciclo: ', se concatena o "pega" con el valor asignado en cada ciclo a la variable "i" mismo que corresponde a cada valor de la lista, creando 3 mensajes por la cantidad de elementos de la lista.

En este caso, el elemento iterable es una variable tipo cadena que tiene el valor "Hola", sus letras son los elementos de este iterable por tanto la variable "i" tendrá asignado el valor de cada letra de la cadena de izquierda a derecha, el ejemplo imprime la palabra "Letra :" concatenada a cada valor de "i" asignado en cada bucle.

Hasta este punto podemos concluir que los elementos de los objetos iterables van a permitir crear la cantidad de bucles que se van a ejecutar en él, y esa cantidad de bucles no tendrán nada que ver con el valor de cada elemento, es decir, dos listas formadas por [0, 1, 2, 3] o [1, 1, 1, 1] crearán la misma cantidad de bucles. Ejemplo:


En estos dos ejemplos la variable "i" que usualmente se le denomina "iterador" no se utiliza, por lo que una alternativa para no utilizar una variable iterador en el bucle es usar el sub guion ( _ ) en lugar de dicha variable, esto no causará ningún efecto y forma parte de las buenas practicas de los programadores ya que se entiende que el bucle solo crea los ciclos y no utiliza una variable iterador. Por ejemplo:

Ahora bien, los valores de cada elemento que compone al elemento iterador del bucle que son asignados al iterador, se pueden utilizar para realizar operaciones o asignaciones según el valor que tengan en cada ciclo, por ejemplo:


En este ejemplo, el elemento iterador es una lista con 3 elementos, en este caso se usa una variable iterador llamada "i" a la que se le va a asignar el valor de cada elemento del elemento iterador, finalmente usando una expresión f, se imprime por pantalla un texto que incluye el valor actual de "i" en cada ciclo y se realiza una operación de potencia al cuadrado con el mismo.

En los ejemplos anteriores se han utilizado una lista y cadena de caracteres para facilitar la comprensión del funcionamiento de los bucles pero, si es posible hacerlo, se recomienda utilizar tipos range(), entre otros motivos porque durante la ejecución del programa ocupan menos memoria en el ordenador.

El siguiente programa es equivalente al programa del ejemplo anterior sobre la implementación de un bucle con una lista de 3 elemento como elemento iterador:

Recordemos que range es un tipo de dato que permite crear series de valores numéricos en base a varios "parámetros" que se incluyen al momento de implementarla. Hay varias formas de utilizarla según la cantidad de parámetros que se incluyen. Los tres argumentos del tipo range(m, n, p) son:

  • m: el valor inicial
  • n: el valor final (que no se alcanza nunca)
  • p: el paso (la cantidad que se avanza o retrocede cada vez)

Si se incluyen 3 parámetros:


Si se incluyen 2 parámetros:


Si se incluye 1 parámetro:

Las tres formas generan el mismo resultado, pero se puede observar que se pueden usar de cualquiera de ellas teniendo en cuenta la particularidad de cada una. Es posible generar secuencias que vayan en decremento también, indicando un paso negativo y los valores de inicio y final adecuados:



No hay comentarios.:

Publicar un comentario

Funciones de bucle: ciclo for

Función de bucle FOR En general, un bucle es una estructura de control que repite un bloque de instrucciones. Un bucle for es un buc...