La estructura while nos permite repetir un bloque de instrucciones mientras al evaluar una expresión lógica nos devuelve True. Puede tener una estructura else que se ejecutará al terminar el bucle.
Ejemplo
año = 2001
while año <= 2017:
print ("Informes del Año", año)
año += 1
else:
print ("Hemos terminado")
La estructura for nos permite iterar los elementos de una secuencia (lista, rango, tupla, diccionario, cadena de caracteres,...). Puede tener una estructura else que se ejecutará al terminar el bucle.
Ejemplo
for i in range(1,10):
print (i)
else:
print ("Hemos terminado")
Termina la ejecución del bucle, además no ejecuta el bloque de instrucciones indicado por la parte else.
Deja de ejecutar las restantes instrucciones del bucle y vuelve a iterar.
Indica una instrucción nula, es decir no se ejecuta nada. Pero no tenemos errores de sintaxis.
Con la instrucción for podemos ejecutar más de una secuencia, utilizando la función zip. Esta función crea una secuencia donde cada elemento es una tupla de los elementos de cada secuencia que toma cómo parámetro.
Ejemplo
>>> list(zip(range(1,4),["ana","juan","pepe"]))
[(1, 'ana'), (2, 'juan'), (3, 'pepe')]
Para recorrerla:
>>> for x,y in zip(range(1,4),["ana","juan","pepe"]):
... print(x,y)
1 ana
2 juan
3 pepe