JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

WHILE: ¿Cómo utilizar este bucle en Python?

bucle_while

En Python, los bucles se utilizan para repetir varias veces la ejecución de una parte de un programa.

Hay dos tipos de bucles:

  • Los bucles for : Cuando se sabe de antemano cuántas veces se va a repetir el programa
  • Los bucles While : Cuando no se conoce de antemano el número de repeticiones del programa

En este artículo, hablaremos principalmente de los bucles while y de su uso.

La palabra clave while en inglés significa mientras. Intuitivamente, el bloque o bloques de instrucciones de un bucle while se ejecutarán mientras se cumplan una o más condiciones.

De esta manera, cuando se cumpla la condición, se devolverá un valor booleano:

  • True: La ejecución puede proceder al bloque de instrucciones
  • False: El bloque de instrucciones no se puede ejecutar. Salimos del bucle.

¿Cómo escribir y utilizar la condición "While"?

Por lo general, la condición que se aplica en el bucle depende de un objeto, una variable definida previamente y que se actualizará al pasar el bucle.

De hecho, si no cambia nada inherente a la condición, el bucle se ejecutará sin fin. Tomemos un ejemplo de bucle «infinito»:

En este ejemplo, el valor del parámetro i no cambia una vez que está en el bucle. De este modo, cuando volvamos a la condición impuesta, se comprobará una y otra vez. De ahí la importancia de variar la variable i como en el ejemplo siguiente:

Este código devuelve la secuencia de números de 0 a 10 al cuadrado.

Como puedes ver, la variable que interviene en la condición while se actualiza al pasar por el bucle. Aquí, la variable i se fija inicialmente en 0 y se incrementa en 1 cada vez que pasa por el bucle. Este incremento nos permite establecer un límite a la ejecución del bucle.

Concentrémonos ahora en el bloque o bloques de instrucciones presentes en el bucle. Pueden variar de un bucle a otro y pueden implicar otras condiciones dentro del bucle:

  • Mediante un bucle while anidado en el primero
  • Mediante sentencias if/else.

 

Como recordatorio, la sentencia if/else evalúa una condición y ejecuta la sentencia if solo cuando la condición es verdadera. Si la condición es falsa, se ejecuta la sentencia else. La indentación se utiliza para separar bloques.

A continuación un ejemplo con condiciones if/else:

Este ejemplo devuelve los números del 0 al 9 al cuadrado si son pares y al cubo en caso contrario.

Además, como puedes ver, mientras se respete tu condición, el bucle se ejecuta. ¿Y si desea detener la ejecución del bloque en el bucle antes de lo previsto o anular una condición que no se verifica? Para ello, existen las sentencias break y continue.

Instrucción break

En este ejemplo, mientras la variable sobre la que se establece nuestra condición sea menor o igual que 6, el bloque de instrucciones continúa ejecutándose. En cuanto la condición del bloque de instrucciones, en este caso el hecho de que i sea mayor que estrictamente 6, salimos del bucle.

Instrucción continue

En este ejemplo, mostramos el cuadrado de los números del 0 al 9, excluyendo el 5. Sin embargo, esta exclusión no bloquea la ejecución del bucle gracias a la instrucción continue.

¿Cómo elegir entre el bucle while y el bucle for?

Por lo general, si conocemos el número de iteraciones que queremos realizar en el bucle, preferimos un bucle for. Por el contrario, si la decisión de detener el bucle solo puede realizarse mediante una prueba de una condición, elegimos un bucle while.

Sin embargo, es posible realizar las mismas operaciones que un bucle for utilizando un bucle while. Por tanto, cualquier bucle for puede escribirse como un bucle while. Lo contrario es incorrecto.

He aquí un ejemplo de bucle for:

Con su equivalente en while:

Ya has llegado al final de este artículo. Si quieres aprender más sobre los bucles while, consulta nuestros cursos para ver cómo se pueden utilizar los distintos tipos de bucles en Data Science con ejemplos concretos.

¿No está disponible?

Déjenos su dirección de correo electrónico para que podamos enviarle los nuevos artículos cuando se publiquen.