Bucles for, while en Python: Sintaxis
Un bucle o ciclo es decir es una parte de nuestro programa que se ejecuta continuamente mientras se cumpla determinada condición. Existen también los bucles infinitos que son aquellos en los cuales la condición nunca se cumple.
Para
Bucles For
En python iteran sobre ítem de cualquier secuencia (lista, cadena, diccionario) en el orden en que aparecen en la secuencia.
Que significa Iterar: Realizar cierta acción repetidas veces.
En el caso de for hace referencia a recorrer elementos, como puede ser un diccionario en búsqueda de un elemento en particular.
Para no complicarnos tanto podemos entender al bucle for como el encargado de recorrer una secuencia buscando esos elementos que cumplen determinada condición y realizando alguna instrucción según sea especificada. Es importante recalcar que dichos elementos deben ser «iterables» es decir recorribles.
Un bucle for podría verse como hojear un libro página por página y extraer solo las imágenes. El hecho de extraer solo las imágenes sería la condición y una vez extraídas todas se habría cumplido por lo que el bucle se detendría.
Sintaxis
En el caso de un bucle for se debe especificar la variable donde se alojarán los ítem del elemento iterable (lista, diccionario, cadena, etc.)
Se coloca la sentencia for seguida de la variable donde se almacenarán los ítem y luego del operador «in» el elemento a iterar:
for variable in elemento_iterable:
cuerpo de la iteracion
Una vez que se termina de iterar el elemento el bucle se detiene, es decir que se ejecutará mientras se cumpla la condición.
Ejemplos
En este ejemplo vamos a iterar una lista de números y vamos a extraer solo aquellos que son pares:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9
,10, 11, 12, 13, 14] #Creamos la lista con números
for num in numeros: #En la variable “num” almacenamos los ítem de la lista
if num % 2 == 0: #Condición: Si el resto de la división por dos es cero entonces:
print (num) # Imprimimos la variable num
Resultado: 2, 4, 6, 8, 10, 12, 14
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9
,10, 11, 12, 13, 14] #Creamos la lista con números
for num in numeros: #En la variable “num” almacenamos los ítem de la lista
if num % 2 != 0: #Condición: Si el resto de la división por dos es cero entonces:
print (num) # Imprimimos la variable num
Resultado: 1, 3, 5, 7, 9, 11, 13
El bucle es el mismo, pero solo hemos cambiado la condición y en este caso nos imprimirá los números impares de la lista «números».
Usos comunes del bucle for:
Iterar Listas
En este caso vamos a iterar esta lista para contar los caracteres de cada palabra que contiene utilizando la función interna de cadenas len():
Palabras = [‘Peine’, ‘Pelo’, ‘Ventana’, ‘Refrigerador’, ‘Adolescente’, ‘Dentista’, ‘Asesino’]
#Lista de palabras
for caracteres in Palabras: #Creamos el bucle para iterar Palabras y almacenar en caracteres
print ((caracteres), (’###Longitud:’), (len(caracteres)))
#Aquí imprimimos la variable caracteres
#Función predefinida “Len()” la longitud de cada palabra
Resultado:
Peine ###Longitud: 5
Pelo ###Longitud: 4
Ventana ###Longitud: 7
Refrigerador ###Longitud: 12
Adolescente ###Longitud: 11
Dentista ###Longitud: 8
Asesino ###Longitud: 7
Iterar Diccionarios
El ciclo for nos permite iterar diccionarios operando con clave y valor, por ejemplo, supongamos que tenemos una agenda telefónica en forma de diccionario y queremos imprimirla completa:
Agenda = {
‘Marcelo’ : ‘3443456993’,
‘Gaston’ : ‘3443456992’,
‘Lucas’ : ‘3443456991’,
‘Angela’ : ‘3443456990’,
‘Lucio’ : ‘3443456989’
} #Aqui hemos creado nuestra agenda como un diccionario
#Ahora creamos el bucle definiendo las variables k y v
#para Key y Value (clave y valor)
for (k, v) in Agenda.items():
print (k, v)
#Utilizamos el método .items() en python 3 para evitar errores.
#Imprimimos el resultado de las variables
Resultado:
Marcelo 3443456993
Lucio 3443456989
Lucas 3443456991
Gaston 3443456992
Angela 3443456990
Iterar cadena string
Utilizando el bucle for podemos iterar cadenas de texto, en este ejemplo vamos a iterar una cadena para contar una letra predeterminada:
entrada = “hola estoy programando en python” #Cadena de texto a analizar
contador = 0
cuentalaletra = ‘a’ #Almacenamos en la variable la letra que queremos contar
for letra in entrada: #Almacenamos en letra cada ítem de la cadena
if letra == cuentalaletra: #Si el ítem es igual a la letra a contar
contador =contador + 1 #Sumamos uno al contador
print ((cuentalaletra), (’:’), (contador)) #Imprimimos la letra a contar
#y el número del contador
Resultado: a : 3
Bucles While
El bucle while nos permite ejecutar un bloque de código continuamente mientras la condición sea verdadera, también podemos crear bucles infinitos.
Estos se ejecutan mientras la condición sea verdadera, es decir, si la condición se cumple se ejecutara el cuerpo de dicho bucle y al finalizar se volverá a comprobar la condición, si continua siendo verdadera pues se ejecutara nuevamente. En caso contrario omitirá el mismo
Sintaxis
La palabra reservada While seguida de la condición y dos puntos, debajo de esta se encontrará el cuerpo del mismo.
while (condición):
Cuerpo de la repetición
Ejemplos
Contador usando while
Ejemplo de bucle while donde creamos un contador e imprimimos el resultado hasta que la condición deje de cumplirse, en este caso contaremos del 1 al 10.
i = 0 #Declaramos el valor de la variable "i"
while (i <= 9): #Creamos el bucle con la condición de ejecutarse mientras “i”
#sea menor o igual a "9"
i +=1 #Cuerpo de la repetición = sumamos uno a i (i es igual a i mas uno)
print (i) #Imprimimos "i"
Resultado:
1
2
3
4
5
6
7
8
9
10