Explorando los bucles en Python – tipos y usos

Séptimo artículo de la serie del curso de Python. En el artículo anterior aprendimos a utilizar los condicionales. Hoy hablaremos de cómo navegar en las estructuras de datos, es decir, acceder a sus datos de forma sencilla, a la vez que manipulamos sus valores utilizando los bucles en Python.

Entendiendo los bucles en Python

Si estás empezando de cero, es importante entender primero qué es un bucle. Digamos que un bucle es una forma de repetir una serie de procesos. Imagina que tienes una función que tienes un proceso que cálcula la temperatura media en un día y tienes que ejecutarlo todos los días de un año. Vamos a ver un ejemplo:

Para el día x del año 2021, donde x empieza en 1 y llega hasta el 365:
    - Calcular temperatura para x
    - Almacenar temperatura para x

Ahora que hemos visto el potencial de los bucles, también llamados loops en inglés, vamos a ver los tipos de bucles que existen y cómo utilizarlos en Python.

Bucles for en Python

El bucle for es el más conocido y probablemente el que más utilices en tus proyectos. Se puede utilizar de distintas formas y ahora te las explicaré.

Recorriendo valores en un rango

Si has programado en algún lenguaje como Java o C++ seguramente hayas utilizado algún bucle del formato:

for(int i=0;i < 10;i++)

En este for loop empiezas inicializando una variable con un valor, 0 en este caso, le dices que lo hagas mientras se cumpla una condición (menor de 10) y le dices que en cada iteración le sumes uno a la variable. Hay que especificar bastantes cosas ¿no crees?

En Python puedes hacer lo mismo pero en menos código y de forma mucho más legible:

for i in range(10):
    print(i)

Además, con la función range tienes la opción de especificar desde que valor empezar:

for i in range(3, 10):
    print(i)

También puedes indicar cuantos valores sumar entre iteraciones:

for i in range(3, 10, 2):
    print(i)

Recorriendo listas por posición

Si recuerdas el post anterior, hablamos de las listas, arrays de valores. Cada elemento de la lista se encuentra en una posición, siendo la primera posición 0 y (tamaño – 1) la última.

for posicion in range(len(mi_lista)):
    print(mi_lista[posicion])

Recorriendo listas por elementos

Si has utilizado otros lenguajes, puede que te suene el término For Each, que consiste en utilizar el for para cada elemento de la lista directamente, sin tener que indicar la posición, y cómo no, en Python también lo puedes usar.

for elemento in mi_lista:
    print(elemento)

Bucles while en Python

A diferencia del for, el while ejecuta un bucle mientras se cumpla una condición. Si quisiéramos hacer un bucle infinito (que no parara nunca):

while(True):
    print('Hola Mundo')

Por supuesto, esto no es óptimo (en la mayoría de casos), por lo que lo suyo es que esto bucle termine cuando se cumpla cierta condición.

edad = 1
while(edad < 18):
    edad += 1

Palabras reservadas break y continue en Python

Cuando trabajamos con bucles es muy importante conocer las keywords break y continue. Break sirve para salirse del bucle:

while(True):
    break

Por su parte continue, interrumpe la iteración actual y pasa a la siguiente del bucle:

for i in range(2):
    if(i == 0):
        continue
    print(i)

Conclusiones

En este post hemos aprendido cómo usar bucles en Python utilizando los conceptos de for y while. Espero que hayas aprendido mucho. Por supuesto, si tienes dudas, dejalas en los comentarios.

¡Muchas gracias por pasarte por aquí!