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:
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:
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:
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á.