Los bucles son una secuencia de instrucciones que se ejecutan hasta que se cumple una condición. Veamos cómo funcionan los bucles while en Python.
¿Qué son los bucles?
Si está aprendiendo a codificar, los bucles son uno de los conceptos principales que debe comprender. Los bucles le ayudan a ejecutar una secuencia de instrucciones hasta que se cumple una condición.
Hay dos tipos principales de bucles en Python.
- Para bucles
- Mientras bucles
Ambos tipos de bucles se pueden utilizar para acciones similares. Pero a medida que aprenda a escribir programas eficientes, sabrá cuándo usar qué.
En este artículo, veremos los bucles while en Python. Para obtener más información sobre los bucles for, consulte este artículo publicado recientemente en freeCodeCamp.
Mientras bucles
El concepto detrás de un ciclo while es simple: mientras una condición es verdadera -> Ejecutar mis comandos.
El ciclo while comprobará la condición cada vez, y si devuelve "verdadero", ejecutará las instrucciones dentro del ciclo.
Antes de comenzar a escribir código, veamos el diagrama de flujo para ver cómo funciona.

Ahora escribamos un código. Así es como se escribe un ciclo while simple para imprimir números del 1 al 10.
#!/usr/bin/python x = 1 while(x <= 10): print(x) x = x+1
Si observa el código anterior, el ciclo sólo se ejecutará si x es menor o igual que 10. Si inicializa x como 20, el ciclo nunca se ejecutará.
Aquí está la salida de ese bucle while:
> python script.py 1 2 3 4 5 6 7 8 9 10
Bucle de ejecución
Hay dos variaciones del ciclo while: while y do-While. La diferencia entre los dos es que do-while se ejecuta al menos una vez.
Es posible que un ciclo while ni siquiera se ejecute una vez si no se cumple la condición. Sin embargo, do-while se ejecutará una vez, luego verificará la condición para bucles posteriores.

A pesar de estar presente en la mayoría de los lenguajes de programación populares, Python no tiene una declaración nativa do-while. Pero puede emular fácilmente un bucle do-while utilizando otros enfoques, como funciones.
Probemos el enfoque de hacer mientras envuelve los comandos en una función.
#!/usr/bin/python x = 20 def run_commands(): x = x+1 print(x) run_commands() while(x <= 10): run_commands()
El código anterior ejecuta la función "run_commands ()" una vez antes de invocar el ciclo while. Una vez que se inicia el ciclo while, la función "run_commands" nunca se ejecutará ya que x es igual a 20.
Mientras - Else
Puede agregar una instrucción "else" para ejecutar si falla la condición de bucle.
Agreguemos una condición else a nuestro código para imprimir "Listo" una vez que hayamos impreso los números del 1 al 10.
#!/usr/bin/python x = 1 while(x <= 10): print(x) x = x+1 else: print("Done")
El código anterior imprimirá primero los números del 1 al 10. Cuando x es 11, la condición while fallará, desencadenando la condición else.
Declaración de una sola línea mientras
Si solo tiene una sola línea de código dentro de su ciclo while, puede usar la sintaxis de una sola línea.
#!/usr/bin/python x = 1 while (x): print(x)
Bucles infinitos
Si no tiene cuidado al escribir bucles, creará bucles infinitos. Los bucles infinitos son aquellos en los que la condición siempre es cierta.
#!/usr/bin/python x = 1 while (x >= 1): print(x)
El código anterior es un ejemplo de un bucle infinito. No hay ningún comando para alterar el valor de x, por lo que la condición "x es mayor o igual que 1" es siempre verdadera. Esto hará que el ciclo funcione para siempre.
Tenga siempre cuidado al escribir bucles. Un pequeño error puede provocar un bucle infinito y bloquear su aplicación.
Control de bucle
Finalmente, veamos cómo controlar el flujo de un bucle mientras se está ejecutando.
Cuando esté escribiendo aplicaciones del mundo real, a menudo se encontrará con escenarios en los que necesita agregar condiciones adicionales para omitir un bucle o salir de un bucle.
Romper
Veamos cómo salir del ciclo mientras la condición es verdadera.
#!/usr/bin/python x = 1 while (x <= 10): if(x == 5): break print(x) x += 1
En el código anterior, el bucle detendrá la ejecución cuando x sea 5, a pesar de que x sea mayor o igual que 1.
Seguir
Aquí hay otro escenario: digamos que desea omitir el ciclo si se cumple una determinada condición. Sin embargo, desea continuar con las ejecuciones posteriores hasta que la condición principal while se vuelva falsa.
Puede usar la palabra clave "continuar" para eso, así:
#!/usr/bin/python x = 1 while (x <= 10): if(x == 5): x += 1 continue print(x)
En el ejemplo anterior, el ciclo se imprimirá de 1 a 10, excepto 5. Cuando x es 5, el resto de los comandos se omiten y el flujo de control vuelve al inicio del programa while.
Resumen
Los bucles son uno de los componentes más útiles en la programación que utilizará a diario.
For y while son los dos bucles principales en Python. El bucle while tiene dos variantes, while y do-while, pero Python solo admite la primera.
Puede controlar el flujo del programa utilizando los comandos 'interrumpir' y 'continuar'. Tenga siempre en cuenta la creación accidental de bucles infinitos.
Escribo regularmente sobre temas que incluyen Inteligencia Artificial y Ciberseguridad. Si te gustó este artículo, puedes leer mi blog aquí.