4 formas de salir del ciclo while en Python

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

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».

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

rtp live