Un ciclo hace referencia a una forma de ejecutar un código repetitivamente hasta que se cumpla una instrucción condicional o hasta que se le dé una instrucción particular al programa para que este se detenga.
Uno de los ciclos más utilizados en programación se representa con la instrucción While. Esta, indica que "mientras se cumpla una determinada condición (x), entonces el programa procede a ejecutar un bloque de instrucciones dadas.
En líneas generales, este ciclo While se utiliza cuando no se sabe exactamente cuántas veces debe ejecutarse un bloque de instrucciones. Dicho de otro, se usa cuando no se conoce el número de elementos o conjunto de datos que requieres recorrer o iterar.
Para entender mejor lo anterior, veamos el siguiente ejemplo, en el que requiero contar el número de cajas que pongo en un carrito, considerando que estas se introducen de par en par y que la capacidad máxima del carrito es de 50. En este sentido, requiero ver cuántas cajas hay en total cada vez que alguien incluye nuevas cajas.
La solución a este caso, se presenta a continuación.
Se inicializa un contador en cero, es decir, se define una variable denominada “ingreso” y se le asigna el valor de cero.
# 1\. Inicializa un contador para saber el número de ingresos que llevan cada vez quese introducen cajasingreso = 0
Se inicializa un contador en cero, es decir se define un variable denominada “counter” y se le asigna un valor de cero.
# 2\. Inicializa un contador para saber el número totalde cajas quese llevan cada vez quese ha hecho un ingresocounter = 0
Se crea un ciclo While, en el que se evalúa el valor del contador (variable “counter”) para determinar si este es menor o igual a 48. Esto, considerando que si cada vez que introduzco cajas las hago de par en par y la capacidad máxima del carrito es 50, sólo debo saber que cuando counter sea 48 sólo podré introducir 2 cajas más para alcanzar la máxima capacidad.
# 3\. Mientras que counter sea menor o igual a 48, se ejecuta el bloque (se detiene hasta que counter sea 48)
while counter <= 48:
En este momento, requiero decirle al programa que aumente en 2 unidades el valor del contador, es decir, el valor total de las cajas ingresadas cada vez que introduzco cajas al carrito, tal como se muestra a continuación.
# 4. Aumentando en2la variable counter en cada entrada al bloquecounter += 2
NOTA: Considera que esta instrucción va dentro del ciclo While, por lo que debe estar identada, como se observa al final de esta nota, donde se encuentra todo el código y los resultados de su ejecución.
A continuación, quiero que el programa cuente el número de veces que realizo un ingreso para mostrar cuántas cajas llevo hasta el momento al finalizar el programa. Entonces, aumento e 1 la variable ingreso cada vez que se introduce un par de cajas al carrito hasta que se complete su máxima capacidad.
# 5\. Aumentando en 1 la variable de ingresos de cajas
ingreso += 1
NOTA: Al igual que la anterior, esta instrucción va dentro del ciclo While, por lo que debe estar identada, como se observa al final de esta nota, donde se encuentra todo el código y los resultados de su ejecución.
Ahora que ya hemos contado 2 cada vez que se introducen cajas, procedemos a indicarle al programa que muestre el valor total de cajas que han sido ingresadas en cada ingreso realizado hasta completar la capacidad máxima del carrito, que corresponde a 50 unidades.
# 6\. Mostrando el valor de counter e ingreso cada vez quese ejecuta el bloque
print("Ingreso No.", ingreso, "-", "Número de cajas =", counter) # Debe mostrar hasta 50 porque la última vez que entra al bloque counter es igual a 48
NOTA: Al igual que la anterior, esta instrucción va dentro del ciclo While, por lo que debe estar identada, como se observa al final de esta nota, donde se encuentra todo el código y los resultados de su ejecución.
CÓDIGO CONSOLIDADO
# While -> Mientras se cumpla la condición x, se ejecuta la instrucción (Ctrl + C)
# 1\. Inicializa un contador para saber el número de ingresos que llevan cada vez quese introducen cajas
ingreso = 0
# 2\. Inicializa un contador para saber el número totalde cajas quese llevan cada vez quese ha hecho un ingreso
counter = 0
# 3\. Mientras que counter sea menor que 48, se ejecuta el bloque (Se detiene una vez que counter sea 48)
while counter <= 48:
# 4\. Aumentando 2 la variable counter en cada entrada al bloque
counter += 2
# 5\. Aumentando en 1 la variable de ingresos de cajas
ingreso += 1
# 6\. Mostrando el valor de counter cada vez quese ejecuta el bloque
print("Ingreso No.", ingreso, "-", "Número de cajas =", counter) # Debe mostrar hasta 50 porque la última vez que entra al bloque counter es igual a 48
RESULTADOS
Ingreso No. 1 - Número de cajas = 2
Ingreso No. 2 - Número de cajas = 4
Ingreso No. 3 - Número de cajas = 6
Ingreso No. 4 - Número de cajas = 8
Ingreso No. 5 - Número de cajas = 10
Ingreso No. 6 - Número de cajas = 12
Ingreso No. 7 - Número de cajas = 14
Ingreso No. 8 - Número de cajas = 16
Ingreso No. 9 - Número de cajas = 18
Ingreso No. 10 - Número de cajas = 20
Ingreso No. 11 - Número de cajas = 22
Ingreso No. 12 - Número de cajas = 24
Ingreso No. 13 - Número de cajas = 26
Ingreso No. 14 - Número de cajas = 28
Ingreso No. 15 - Número de cajas = 30
Ingreso No. 16 - Número de cajas = 32
Ingreso No. 17 - Número de cajas = 34
Ingreso No. 18 - Número de cajas = 36
Ingreso No. 19 - Número de cajas = 38
Ingreso No. 20 - Número de cajas = 40
Ingreso No. 21 - Número de cajas = 42
Ingreso No. 22 - Número de cajas = 44
Ingreso No. 23 - Número de cajas = 46
Ingreso No. 24 - Número de cajas = 48
Ingreso No. 25 - Número de cajas = 50