jueves, 18 de septiembre de 2014

Tutorial de Python parte 9 - Búcle for




El búcle for al igual que while es una estructura de control que permite crear búcles, este tipo de búcles son ideales para recorrer los elementos de arrays como List, Tuples y Diccionarios.

Como se repitió en los dos capítulos anteriores las estructuras de control han de ir indentadas, de lo contrario obtendremos un error de ejecución, y el búcle for no es menos.

En el siguiente ejemplo utilizamos la función range(inicio, final) y creamos la estructura en una sola línea, en este caso no es necesaria la indentación, x obtiene el valor de inicio 0 y se incrementará en 1 hasta llegar al final ...

for x in range(0, 10): print(x)

Otro ejemplo práctico, recorriendo los elementos de un tuples, en este caso hacemos uso de la indentación ...

nombres = ("Manuel", "Fernando", "Yolanda", "Mario")
for x in range(len(nombres)): 
 print(nombres[x])


En el búcle for al igual que vimos en while podemos incluir else para cuando la condición deja de cumplirse ...

nombres = ("Manuel", "Fernando", "Yolanda", "Mario")
for x in range(len(nombres)): 
 print(nombres[x])
else:
 print("Ya no quedan mas nombres")


Lo siguiente también es válido para recorrer los elementos de un List o Tuples sin utilizar la función range e incluyendo simplemente el nombre del array, en este caso la variable en cada iteración obtiene el valor de cada elemento del array ...

nombres = ("Manuel", "Fernando", "Yolanda", "Mario")
for valor in nombres: 
 print(valor)
else:
 print("Ya no quedan mas nombres")


El búcle for es ideal para recorrer los elementos de diccionarios, para ello haremos uso de la función items(), que nos permitirá obtener tanto la clave como el valor de cada elemento ...

diccionario = {1:"Manuel", 2:"Fernando", 3:"Yolanda", 4:"Mario"}
for clave, valor in diccionario.items(): 
 print(clave, ":", valor)


Código del capítulo del vídeo tutorial ...

# range(inicio, final)
for x in range(3, 10): print(x)

# tuples o list
nombres = ("Manuel", "Fernando", "Yolanda", "Mario")
for index in range(len(nombres)):
 print(nombres[index])
else: print("Ya no quedan mas nombres")

#diccionarios
diccionario = {1:"Manuel", 2:"Fernando", 3:"Yolanda", 4:"Mario"}
for clave, valor in diccionario.items():
 print(clave, ":", valor)