Saltar a contenido

Estructuras de ciclos abiertos

Recordemos que existen estructuras de control de flujo que nos permiten repetir instrucciones de manera automática. Estas estructuras se llaman bucles, ciclos o simplemente estructuras repetitivas.

Y que una de ellas es la estructura de ciclo abierto. Se utiliza cuando no sabemos cuántas veces se va a repetir un bloque de 1 o más líneas de código.

La palabra clave while

Una de las estructuras repetitivas más comunes es el bucle while. Este bucle repite un bloque de instrucciones mientras una condición sea verdadera. Así, la repetición de instrucciones se realiza de manera automática, sin necesidad de escribir una y otra vez la misma instrucción. 0 veces, 1 vez, 2 veces… n veces. Tantas veces como sea necesario.

La palabra clave while significa "mientras". Y la condición es una expresión lógica que se evalúa en cada iteración del bucle. Si la condición es verdadera, el bloque de instrucciones se ejecuta. Si la condición es falsa, el bloque de instrucciones no se ejecuta y el bucle termina.

Esta estructura es de tipo ciclo abierto o ciclo indeterminado. Es decir, no sabemos cuántas veces se va a repetir el bloque de instrucciones. Dependerá de la condición que permita volver a ejecutar el bloque de código repetitivo, una y otra vez.

¡Para recordar!

while es una construcción que nos permite hacer una pregunta una y otra vez. Y cada vez que hemos visto una pregunta anteriormente, ha sido en forma de expresión booleana, una pregunta cuya respuesta es verdadera (True) o falsa (False).

El proceso repetitivo

Pensemos como refactorizar nuestro programa anterior:

Python
print("Hola")
print("Hola")
print("Hola")
print("Hola")
print("Hola")

Aquí podemos pensar que por cada dedo de nuestra mano, tenemos un saludo. Con la mano abierta, tenemos 5 dedos levantados. Por lo tanto, 5 saludos.

Realizamos el primer saludo, cerramos un dedo, realizamos el segundo saludo, cerramos otro dedo, y así sucesivamente, hasta que no nos queden más dedos levantados. Esa es nuestra condición de parada.

¿Entiendes?

La pregunta que nos podemos hacer es: ¿Todavía tengo algún dedo levantado?
Si la respuesta es verdadera, saludamos una vez más. Si la respuesta es falsa, no saludamos más.

Sintaxis del bucle while

Veamos como se escribe un bucle while en Python:

Python
while condicion:
    # bloque de instrucciones

Donde condicion es una expresión lógica que se evalúa en cada iteración del bucle. Si la condición es verdadera, el bloque de instrucciones se ejecuta. Si la condición es falsa, el bloque de instrucciones no se ejecuta y el bucle termina.

Además, se ponen dos puntos (:) al final de la condición. Esto es una convención de Python para indicar que se va a definir un bloque de código.

Luego, abajo se escribe el bloque de instrucciones que se repetirá mientras la condición sea verdadera. Este bloque de instrucciones debe estar indentado, es decir, debe tener un nivel de sangría con respecto a la palabra clave while. Esto es una convención de Python para indicar que es un bloque de código que se ejecuta dentro del bucle. Por lo general son entre 2 y 4 espacios o un tabulador.

Refactoricemos nuestro programa anterior:

Python
1
2
3
4
dedos = 5

while dedos != 0:
    print("Hola")

En este caso, la variable dedos es nuestra condición. Mientras dedos sea diferente de 0, se ejecutará el bloque de instrucciones. En cada iteración, se imprime el saludo. Cuando dedos sea igual a 0, la condición será falsa y el bucle terminará.