Bucles en Python

Posted on

Bucles

Bucle while

La forma de escribir el bucle while es la habitual, utilizando el símbolo dos puntos (:) tras finalizar la condición a cumplir para ejecutar el bucle y antes de indicar la acción a realizar durante el mismo. Dicha condición debe variar para que el bucle pueda cerrarse. Aquí vemos un ejemplo:

a = 0
while a<=20:
    print(a)
    a+=1
print ("Bucle terminado")

Bucle for

La forma de escribir un bucle for es siempre la siguiente:

for (nombre_del_dato) in (cadena, array, etc.) :
acción a ejecutarse

Aquí vemos algunos ejemplos:

a = [0,1,2,3,4,5]
for data in a:
    print(data)
print ("Bucle 1 for terminado")

for data in [0,1,2,3,4,5]:
    print(data)
print ("Bucle 2 for terminado")

for letter in 'string':
    print(letter)
print ("Bucle 3 for terminado")

for key,data in enumerate('cadena'):
    if key % 2 == 0:
        print data
print ("Bucle 4 for terminado")

Excepciones

Python permite el uso de excepciones mediante las sentencias tryexcept. Básicamente, estas sentencias permiten tomar un camino alternativo en caso de que se presente un error, además de permitir visualizar de un modo más amigable el tipo error que aparece en la ejecución. La estructura es la siguiente:

tuple = (0,1,2,3,4,5) # create a tuple
try:
    tuple.append(6) # try to add a new value to a
except: 
    print("Ha ocurrido un error") # exception appear
else:
    for each in tuple:
        print (each)

También puede escribirse como:

tuple = (0,1,2,3,4,5) # create a tuple
try:
    tuple.append(6) # try to add a new value to a
    for each in tuple:
        print (each)
except AttributeError as e: # mark the exception type as e
    print 'Ha ocurrido un error: ',  e # exception appear

Break, continue y else

Break es la sentencia para interrumpir un bucle. Aquí vemos un ejemplo:

list = [0,1,2,3,4,5] # create a list
for int in list:
    if int == 3:
        break
    else:
        print (int)

Del mismo modo, continue se utiliza para continuar el bucle:

list = [0,1,2,3,4,5] # create a list
for int in list:
    if int == 3:
        continue
    else:
        print (int)