Usando otra declaración condicional con for loop en python
En la mayoría de los lenguajes de programación (C/C++, Java, etc.), el uso de la sentencia else se ha restringido con las sentencias condicionales if. Pero Python también nos permite usar la condición else con bucles for.
El bloque else justo después de for/while se ejecuta solo cuando el ciclo NO termina con una instrucción break.
El bloque Else se ejecuta en el siguiente programa de Python 3.x:
Python
for i in range(1, 4): print(i) else: # Executed because no break in for print("No Break")
Producción :
1 2 3 No Break
El bloque Else NO se ejecuta en Python 3.x o inferior:
Python
for i in range(1, 4): print(i) break else: # Not executed as there is a break print("No Break")
Producción :
1
Este tipo de else es útil solo si hay una condición if presente dentro del ciclo que de alguna manera depende de la variable del ciclo.
En el siguiente ejemplo, la sentencia else solo se ejecutará si ningún elemento del arreglo es par, es decir, si la sentencia no se ha ejecutado para ninguna iteración. Por lo tanto, para la array [1, 9, 8], if se ejecuta en la tercera iteración del ciclo y, por lo tanto, se ignora el else presente después del ciclo for. En el caso de la array [1, 3, 5], el if no se ejecuta para ninguna iteración y, por lo tanto, el else después de que se ejecuta el bucle.
Python
# Python 3.x program to check if an array consists # of even number def contains_even_number(l): for ele in l: if ele % 2 == 0: print ("list contains an even number") break # This else executes only if break is NEVER # reached and loop terminated after all iterations. else: print ("list does not contain an even number") # Driver code print ("For List 1:") contains_even_number([1, 9, 8]) print (" \nFor List 2:") contains_even_number([1, 3, 5])
Producción:
For List 1: list contains an even number For List 2: list does not contain an even number
Como ejercicio , prediga la salida del siguiente programa.
Python
count = 0 while (count < 1): count = count+1 print(count) break else: print("No Break")
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA