© Maria Vonotna/Shutterstock.com
Hoy es el momento de revisar uno más de los atributos heredados de Python. Los bucles while son algunas de las herramientas más valiosas para los programadores y una característica fundamental para cualquier desarrollador.
En este artículo, planeamos revisar todos los conceptos necesarios para comprender cómo funcionan los bucles while. También le mostraremos algunos ejemplos de código para que pueda tener una idea más clara de lo que está sucediendo. Si bien los bucles son un concepto fácil, no tendrá problemas para entenderlos.
¿Qué son los bucles while?
Los bucles while son una forma de iterar a través del código. Si bien los bucles son un tipo específico de bucle, también existen otros tipos, con ideas ligeramente diferentes detrás de ellos. La iteración significa ejecutar una declaración de código un cierto número de veces o hasta que se cumpla una condición. Solo tenlo en cuenta por ahora.
Cuando la iteración ocurre un número específico de veces, se llama iteración definitiva. De lo contrario, lo llamamos iteración indefinida.
Mientras que los bucles encajan en la categoría de iteración indefinida. ¿Por qué? Porque hasta que se alcance la condición final, continuará recorriendo y ejecutando el código.
Eso es todo lo que necesita saber por ahora. Veamos algunos ejemplos de código básico y revisemos su sintaxis.
Sintaxis de bucles while
Para construir un bucle while, necesitamos una condición y una declaración. Las condiciones se definen en la cabecera de la estructura y determinan cuándo deja de funcionar un bucle. Por lo general, son un booleano o una expresión hecha con cadenas o números.
Una vez que se declara la condición, construimos un cuerpo donde van las declaraciones. Esta parte del código se ejecuta hasta que se cumple la condición.
La declaración puede contener cualquier tarea que deseemos y puede ser una combinación de funciones, métodos y más. El último elemento del cuerpo suele ser la devolución. Eche un vistazo a este algoritmo.
while:
Este es el esquema básico de la sintaxis. Aquí, la sección de”declaración”está sangrada con cuatro espacios en blanco y representa el código en bucle.
La etiqueta”expresión”representa una variable que se comprueba tan pronto como comienza el bucle y continúa cambiando hasta que la condición es cierto. Repasemos un ejemplo básico de la vida real:
n=10 while (n 15): count +=1 print(n)
En el ejemplo anterior, podemos apreciar la funcionalidad completa del ciclo while. Primero, declaramos una variable que servirá como condición en el encabezado del ciclo. Debido a que el estado es verdadero, lo que significa que el número no es mayor que 15, el bucle se ejecuta una vez.
Luego, la instrucción suma 1 a nuestra variable e imprime el número. Entonces, suma 1 a 10, obtienes 11. Debido a que 11 es aún más pequeño que 15, el código se repite una vez más, y así sucesivamente, hasta que se cumple la condición. En este caso, cuando nuestro número de variable es igual a 15, la condición se verifica como falsa y el ciclo deja de ejecutarse.
While Loops y declaraciones Else
Hemos visto lo simple pero poderoso que puede ser un ciclo while. Es una lógica simple, pero eso puede conducir a resultados increíbles. Aún así, ¿qué hay de combinar los bucles while con otras funciones?
Como es habitual en Python, puede combinar las funciones while con la mayoría de las demás funciones nativas. Para nuestros propósitos, usaremos la declaración”else”, otro recurso familiar para los programadores.
La declaración if-else generalmente funciona con una o más condiciones, al igual que lo hacen los bucles while. Reemplazaremos el”Si”con el”Mientras”esta vez. Por lo tanto, cuando no se puede cumplir la primera condición, la declaración else será la siguiente en la línea.
Hagamos un programa simple que utilice el bucle While y la declaración else, para que se haga una idea.
cuenta=0 while (cuenta 5): cuenta +=print(“Hola mundo”) else: print(“Hola mundo de declaración else”) #Salida #Hola mundo #Hola mundo #Hola mundo #Hola mundo #Hola Sentencia World from else
En el ejemplo anterior, el conteo comienza en 0 y aumenta continuamente, imprimiendo una cadena con cada bucle. Luego, cuando llegamos a 5, el ciclo while se detiene y la declaración else imprime la cadena que establecimos antes.
Como puede ver, como con la mayoría de las herramientas elementales, las posibilidades son realmente infinitas. Estas combinaciones simples, que en su esencia representan declaraciones lógicas simples, son el pan y la mantequilla de la mayoría de las aplicaciones.
One Line While Loops
Como desarrolladores, siempre buscamos oportunidades para crear aplicaciones más limpias. y código más simple. Hay una forma específica de simplificar la sintaxis de los bucles while que debería conocer.
Puede crear un bucle while en una sola línea, declarando solo la condición y la sección de impresión. Veamos cómo funciona:
n=10 while n > 0: n-=; print(n)
Tenga en cuenta que esta sintaxis puede conducir a un error de bucle infinito porque nunca podremos alcanzar la condición necesaria para detenerlo. En lenguaje sencillo, el ciclo while de una línea (como se escribió y definió en el ejemplo anterior) nunca termina. Se repite para siempre.
Cuando te encuentres en esta situación, recuerda que puedes terminar el programa usando una combinación de teclas en tu teclado. En Windows, Ctrl + C te sacará de un apuro.
Si esto te sucede, no te desanimes. Es un error común, y en realidad es una excelente manera de entender la lógica que subyace a estas funciones.
Sin embargo, hay algunos casos en los que podríamos querer un ciclo infinito. Por lo tanto, dependiendo de nuestras intenciones, los bucles infinitos pueden ser una característica, ¡no un error! Por ejemplo, es un recurso útil para crear servidores que deben estar en línea la mayor parte del tiempo, ya que el servidor seguirá funcionando hasta que finalice el programa. Pero mantengamos el rumbo aquí.
Bucles while con lista
Veamos cómo se comportan los bucles while en combinación con una lista:
números=[1, 2, 3, 4, 5] mientras números: print(numbers.pop()) #Output #5 4 3 2 1
Aquí hemos creado una lista que contiene números que se repetirán hasta que no queden más elementos. Si bien no nos detendremos aquí, es bastante bueno que pueda combinar los bucles while con la mayoría de las funciones nativas, y queremos que se quede con usted después de que termine este artículo.
La sección de condiciones lee la longitud de la lista , y hemos establecido el último elemento como el primero que se imprime. Esto es posible gracias al método pop().
El método pop() es una función nativa de Python que elimina y devuelve el último elemento de una lista. Funciona tanto con bucles”for”como con bucles while.
Bucles while y sentencias de control
Las sentencias de control son la forma ideal de controlar la iteración de los bucles while. Nos permiten modificar cómo funciona un bucle al terminar o interrumpir el flujo normal del bucle.
En la versión actual de Python, tenemos dos declaraciones de control:
Primero, la declaración”continuar”. Detiene la iteración actual y nos envía al principio del bucle. La condición se vuelve a evaluar y comienza una nueva repetición.
Aquí hay un ejemplo de un ciclo while con una instrucción Continuar:
i=0 a=’Hello World’while i len(a): if a[i]==’o’: i +=1 continue print(a[i]) i +=1 #Salida: H e ll W r l d
Tenga en cuenta que llamamos a la función len(). Nos permite contar el número de artículos y devolver este valor. En este caso, devuelve el número de caracteres de la cadena.
También existe la instrucción”Break”. La instrucción break evita que el bucle se ejecute por completo, así:
i=0 a=’Hola mundo’while i len(a): if a[i]==’l’: i +=1 break print (a[i]) i +=1 #Salida: H e
Finalmente, tenemos la declaración”aprobado”. A menudo se usa para bucles vacíos sin instrucciones, funciones o métodos.
i=0 a=’Hello World’while i len(a): i +=1 pass print(i) #Output: 11
Todas estas declaraciones de control nos permiten personalizar la mayor parte de lo que sucede dentro de un ciclo while. Puede ver cómo esto puede ser útil cuando se trabaja con grandes conjuntos de datos o cuando se trabaja con IA.
¿Cuáles son las ventajas de los bucles while?
La principal ventaja de los bucles while es que se pueden crear aplicaciones completas a partir de ellos. Su funcionalidad es tan básica que siempre te encontrarás usándolas.
Hasta ahora, hemos visto cómo funciona un ciclo while y cómo combinarlo con otras funciones. Los ejemplos de código eran bastante simples, así que intentemos hacer algo un poco más complejo.
En Python, es posible anidar una o más declaraciones entre sí. El anidamiento funciona para sentencias if-else, bucles while y otras estructuras de control.
a=[‘Hola’,’Mundo’] while len(a): print(a.pop(0)) b=[‘Puthon’,’Reglas’] while len(b): print(‘>’, b.pop(0)) #Output: Hello Python Rules World Python Rules
En este ejemplo, creamos una estructura compleja que evalúa condiciones e imprime cada cadena. También utilizamos la función pop() que presentamos antes.
Este programa es solo otro ejemplo de lo que se puede lograr con los bucles while. Son poderosos por sí solos, pero todo pasa a otro nivel cuando agregas otros métodos y funciones a la mezcla.
Conclusión: Explicación de los bucles while en Python
En este artículo, aprendió cómo funcionan los bucles while, su sintaxis y algunos casos de uso. Con este conocimiento, debería poder dominar el concepto de bucles while e implementarlos cuando sea necesario.
También analizamos la iteración, las declaraciones de control, las declaraciones else y los bucles infinitos.
Estas son todas las características necesarias para hacer una aplicación compleja y útil, utilizando la repetición de código como idea fundamental principal. Para obtener más información, recomendamos consultar la documentación oficial de Python. Ahora, te dejamos que pruebes estas cosas por ti mismo y veas a dónde te llevan.
Preguntas frecuentes explicadas sobre los bucles while en Python (Preguntas frecuentes)
¿Qué hago si obtengo un error de bucle infinito?
¡No entres en pánico! En la mayoría de los compiladores de Python, CTRL + C debería terminar cualquier código que se esté ejecutando. Utilice las herramientas del compilador para navegar y depurar su código.
¿Los bucles while solo están disponibles en Python?
No. Los bucles while están, de una forma u otra, disponibles en la mayoría de los lenguajes de programación. Son una característica de la Programación Orientada a Objetos, ya que representan una función lógica básica. Encontrará funciones nativas similares en Java, Javascript y otros lenguajes de programación populares.
¿Puedo combinar otras funciones con los bucles while?
¡Sí! Al igual que otras funciones nativas de Python, los bucles while se pueden combinar con prácticamente todas las demás funciones nativas de Python.
¿Cuál es la diferencia entre los bucles For y los bucles While?
Los bucles For son parte del grupo de iteraciones definidas, donde la iteración o el número de repeticiones se especifica en alguna parte del código. Por otro lado, los bucles while son una estructura de iteración indefinida porque el número de repetición de bucles no está definido.
¿Qué es la iteración?
En programación , la iteración es el proceso de repetir una serie de declaraciones un número determinado de veces. Los bucles son la forma más común de iteración.