Saltar al contenido principal

Tutorial de bucles while en Python

Aprende cómo funciona el bucle while en Python.
· 4 min leer

Explora con IA

El bucle while se parece en cierto modo a una sentencia if: ejecuta el código interno si la condición es verdadera. Sin embargo, a diferencia de if, el bucle while sigue ejecutando el código de forma repetida mientras la condición sea verdadera.

El bucle while

El bucle while

La sintaxis del bucle while es muy similar a la de la sentencia if, como ves arriba. El bucle while no es el más habitual, pero en algunos casos puede ser muy útil.

Ejemplo

Imagina que estás calculando numéricamente un modelo a partir de tus datos. Normalmente esto implica repetir los mismos pasos hasta que el error entre tu modelo y tus datos esté por debajo de cierto umbral. Cuando puedas reformular el problema como repetir una acción hasta que se cumpla una condición, un bucle while suele ser la mejor opción.

En el siguiente ejemplo, empiezas con un error igual a 50.0. A continuación, escribirás un bucle while cuya condición es error > 1, de modo que el bucle se ejecute mientras el error sea mayor que 1. Dentro del bucle, divides el error entre cuatro y actualizas la variable de error. Al ejecutarlo por primera vez, obtenemos 12.5.

Ejemplo

Python vuelve entonces a evaluar la condición del bucle while con el nuevo error, 12.5. La condición vuelve a ser verdadera y el código se ejecuta.

ejemplo

Python vuelve de nuevo a la condición del bucle while e intenta ejecutar el código otra vez. Como 3.125 es mayor que 1, el código realiza el cálculo.

Ejemplo

Por último, la nueva condición del bucle while es menor que 1, así que el código lanza un error y deja de ejecutarse.

Este ejemplo te será útil porque ha llegado el momento de crear tu propio bucle while. Vamos a programar un bucle while que implemente un sistema de control muy básico para un péndulo invertido. Si hay una desviación respecto a la vertical perfecta, el bucle while irá corrigiendo esa desviación poco a poco.

Ten en cuenta que si tu bucle while tarda demasiado en ejecutarse, puede que hayas cometido un error. En particular, recuerda indentar correctamente el contenido del bucle.

Ejemplo de error con while (ejecución continua)

Imagina que comentas o eliminas la actualización del valor de error y vuelves a ejecutar el script. El error no se actualizará y la condición siempre será verdadera. Esto hará que el bucle while se ejecute indefinidamente.

Ejemplo de error con while (ejecución continua)

Si cometieras este error en tu sistema, tendrías que interrumpir el programa de Python pulsando las teclas Control + C.

Ejemplo

En el ejemplo siguiente, crearás la variable offset con un valor inicial de 8. Después escribirás un bucle while que siga ejecutándose mientras offset sea distinto de 0.

Dentro del bucle while:

  • Imprimirás el texto "correcting...".
  • Después, disminuirás el valor de offset en 1. Puedes hacerlo con offset = offset - 1.
  • Por último, dentro del bucle, imprime offset para ver cómo va cambiando.
Ejemplo

Al ejecutar el programa anterior, obtenemos el siguiente resultado:

correcting...
7
correcting...
6
correcting...
5
correcting...
4
correcting...
3
correcting...
2
correcting...
1
correcting...
0

Pruébalo tú mismo.

Para aprender más sobre los bucles while, echa un vistazo a este vídeo de nuestro curso Intermediate Python.

Este contenido está extraído del curso Intermediate Python de DataCamp, impartido por Hugo Bowne-Anderson.

Consulta también nuestro tutorial de bucles en Python y el tutorial Cómo emular un bucle do-while en Python para seguir aprendiendo y practicando con bucles en Python hasta dominar el tema. 

Temas

Relacionado

Tutorial

Tutorial sobre bucles en Python

Tutorial

Tutorial sobre bucle for en Python

Tutorial

Funciones en Python: cómo llamar y escribir funciones