Uso de la declaración condicional Else con bucle For en Python

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

Deja una respuesta

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