while pasa a través de un bloque de expresiones hasta que la condición especificada se evalúa como Falsa.
En algún momento siempre queremos que el ciclo termine. De lo contrario, se ejecutará indefinidamente, lo que el programador nunca quiere.
¿Entonces cómo hacemos eso? Hay varias formas de terminar el ciclo. Así que vamos a familiarizarnos con cada uno de ellos.
1. Usar condiciones de control
El primero es especificar una condición en la instrucción while que siempre se evalúe en False en algún momento durante la ejecución del bucle. Pongamos un ejemplo para entender esto.
i = 0 while i < 5: print("Iteration no:", i) i += 1 #increment i by 1
Salida
Iteration no: 0 Iteration no: 1 Iteration no: 2 Iteration no: 3 Iteration no: 4
En el ejemplo anterior, si la variable Una generación menos de 5. inicialmente, Una generación igual a 0. Entonces la condición se evalúa como verdadero.
En el bloque while aumentamos Una generación Aumentar en 1 cada iteración, por lo que el ciclo se ejecutará 5 veces, es decir. Una generación = 0, 1, 2, 3 y 4. cuando Una generación se convierte en 5 y la condición se estima en Incorrecto, y el ciclo se termina.
Si la condición especificada en la instrucción while no permite que finalice el ciclo, es decir. siempre verdadero, el ciclo se ejecutará indefinidamente.
While True: print(“Hello World”)
El código anterior funcionará para siempre. Como mencionamos, queremos evitar esto. Por lo tanto, necesitamos forzar el ciclo while para que finalice antes. hay tres maneras de hacer esto.
2. Descanso
La instrucción break detiene la ejecución del ciclo while. Pongamos un ejemplo para ver cómo funciona.
result = 0 print("Enter -1 to end") while True: value = int(input("Insert a number: ")) if value == -1: break else: result += value print("The sum of the values entered:", result)
Salida
Enter -1 to end Insert a number: 12 Insert a number: 8 Insert a number: 6 Insert a number: -1 The sum of the values entered: 26
El ejemplo anterior recibe los valores del usuario y los agrega a resultado Cambio. El usuario puede introducir cualquier número de valores. Cuando el usuario ingresa -1, el ciclo deja de usar la palabra clave break y muestra el resultado final.
Una cosa a tener en cuenta es que cuando tiene bucles anidados, la palabra clave break simplemente finaliza el bucle en el que se escribió. Considere el siguiente código para entender este concepto.
i=0 while True: j=0 while True: if j==5: break else: print("Inner Loop Iteration:", j) j += 1 i += 1
Salida
Salga del ciclo while en la salida de Python
Aquí tenemos un ciclo anidado y el operador de interrupción está dentro del ciclo interno. Tenga en cuenta que cuando j igual a 5, el ciclo interior se interrumpe, pero nunca salimos del ciclo exterior. Por lo tanto, funcionará indefinidamente.
3. Regreso
Otra forma de terminar un ciclo while es usar una expresión de retorno. Tenga en cuenta que solo se puede usar cuando el ciclo while está dentro de una función.
Además, no solo termina el ciclo, sino que también deja de funcionar. Por lo tanto, debemos asegurarnos de que el operador después del ciclo while no se ejecute cuando se interrumpa el ciclo.
Considere el siguiente ejemplo.
def test(): result = 0 print("Enter -1 to end") while True: value = int(input("Insert a number: ")) if value == -1: return result else: result += value res = test() print("The sum of the values entered:", res)
Salida
Enter -1 to end Insert a number: 10 Insert a number: 20 Insert a number: 30 Insert a number: 40 Insert a number: -1 The sum of the values entered: 100
Esto es lo mismo que el ejemplo anterior, excepto que usamos el operador de retorno en lugar del operador de interrupción.
4. Lanzar una excepción
La última forma de salir de un ciclo while es generar una excepción que no se haya manejado en él. Veamos.
#find the first number which is divisible by 2 and 3 starting from 1 i=1 try: while True: if (i%2==0 and i%3==0): raise Exception("End Loop") i += 1 except Exception as e: print(e) print("The first number which is divisible by 2 and 3 is: ", i)
Salida
End Loop The first number which is divisible by 2 and 3 is: 6
En el ejemplo anterior, cuando un número Una generación Dividiendo por 2 y 3, generamos una excepción que se procesa fuera del bucle. El control sale del ciclo y finaliza.
en conclusión
En este artículo, aprendimos 4 formas diferentes de salir del ciclo while en código Python Cambie «Condición de control» a «Break and Return». El último método que analizamos más de cerca fue «Lanzar excepción».
¡Hola a todos! Este soy yo, Marcel, también conocido como Masha. ¡Obtengo ingresos de tiempo completo en línea y en MaschiTuts y estoy emocionado de compartir con ustedes cómo me mantengo en la cima! Dirijo varios blogs y sitios web lucrativos y me gusta hablar sobre estos proyectos cuando tengo la oportunidad. Hago esto con todo mi corazón. De hecho, el momento en que dejé de trabajar de 8 a 5 y me encontré en un negocio en línea como emprendedor digital fue probablemente una de las mejores decisiones que he tomado en mi vida. ¡Quiero estar seguro de que tú también irás por este camino! Que nadie te diga que es imposible. El cielo es el límite, de verdad… ¡solo si crees en él! Y todo comienza aquí… ¡en Maschiuts!