Estructura de control iterativas

¿Se acuerdan de de las estructuras iterativas? 

A diferencia de las estructuras de control condicionales (If, elif, else), las iterativas (también llamadas cíclicas o bucles), nos permiten ejecutar un mismo código, de manera repetida, mientras se cumpla una condición

En Python se dispone de dos estructuras cíclicas:

 

    • El bucle while

• El bucle for

Se encarga de ejecutar una misma acción “mientras que” una determinada condición se cumpla: 
Mientras que año sea menor o igual a 2012,

imprimir la frase “Informes del Año año”

While

# -*- coding: utf-8 -*-

anio = 2001 

while anio <= 2012:     

        print "Informes del Año", str(anio)    

        anio += 1

En cada iteración, incrementamos el valor de la variable que condiciona el bucle (anio). Si no lo hiciéramos, esta variable siempre sería igual a 2001 y el bucle se ejecutaría de forma infinita, ya que la condición (anio <= 2012) siempre se estaría cumpliendo. 

 Esta vez, podremos utilizar una estructura de control condicional, anidada dentro del bucle, y frenar la ejecución cuando el condicional deje de cumplirse, con la palabra clave reservada break:

while True:    

nombre = raw_input("Indique su nombre: ")    

if nombre:        

break

Break

El bucle anterior, incluye un condicional anidado que verifica si la variable nombre es verdadera (solo será verdadera si el usuario tipea un texto en pantalla cuando el nombre le es solicitado). Si es verdadera, el bucle para (break). Sino, seguirá ejecutándose hasta que el usuario, ingrese un texto en pantalla. 

FOR

El bucle for, en Python, es aquel que nos permitirá iterar sobre una variable compleja, del tipo lista o tupla:

 

Por cada nombre en mi_lista, imprimir nombre

mi_lista = ['Juan', 'Antonio', 'Pedro', 'Herminio']

for nombre in mi_lista:    

      print nombre

Por cada color en mi_tupla, imprimir color

 

mi_tupla = ('rosa', 'verde', 'celeste', 'amarillo') for color in mi_tupla:    

print color

En el ejemplo anterior, nombre es una variable declarada en tiempo de ejecución (es decir, se declara dinámicamente durante el bucle), asumiendo como valor, el de cada elemento de la lista (o tupla) en cada iteración.

 

Por cada año en el rango 2001 a 2013, imprimir la frase “Informes del Año año”

# -*- coding: utf-8 -*-

for anio in range(2001, 2013):    

print "Informes del Año", str(anio)

 

Otra forma de iterar con el bucle for, puede emular a while:

Estructuras de control iterativas

By gdg_unam_aragon

Estructuras de control iterativas

  • 643