Hemos cubierto los tipos de datos básicos, tipos de datos avanzados y declaraciones condicionales en Python en nuestros blogs anteriores. En este blog, se cubrirán los bucles. Si eres nuevo en Python, por favor comienza desde el primer blog para obtener una mejor comprensión de este tema.
Los bucles se utilizan cuando hay necesidad de realizar una tarea más de una vez. Por ejemplo, imprimir números del 1 al 100 o un mejor ejemplo sería sumar todos los elementos en una lista o un arreglo. A veces hay necesidad de escribir más de 1 bucle o un bucle dentro de otro bucle. En Python, escribir estos bucles es muy simple y la sintaxis es fácil de entender. Como hemos visto, en Python no necesitamos declarar una variable primero antes de usarla. El bucle básico comienza con el bucle for. Entendamos el bucle “for”.
En un bucle for, tenemos tres cosas que deben mencionarse. La primera es el valor inicial de la variable sobre la cual se necesita realizar la iteración, la condición de parada y la última es cuántos pasos deseas incrementar o decrementar el iterador.
Veamos la sintaxis de un bucle “for”:
# Bucle For for var in range(10): print(var) for var in range(0,10,1): print(var)
En la ilustración de código anterior, podemos ver que los bucles for están dando el mismo resultado. La sintaxis al final donde proporcionamos la función range tiene tres argumentos que discutimos en el párrafo anterior. En el ejemplo anterior, el rango tiene 0,10,1 en el que 0 es el valor inicial del iterador, 10 es el valor final, pero el rango en realidad itera hasta 10-1 que es 9 y 1 es el incremento del iterador cada vez que se ejecuta el bucle.
Ejecutemos el programa anterior
Salida: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Como podemos ver en la ilustración de salida, está imprimiendo los números del 0 al 9.
En una lista tenemos una colección de elementos y a continuación se ilustra cómo usar bucles for para iterar a través de una lista.
X=[1,2,3,4,5,6] for i in X: print(i)
Salida: Esto imprimirá todos los elementos en la lista. 1,2,3,4,5,6
Para incluir el índice también al imprimir, el código se ilustra a continuación.
X=[1,2,3,4,5,6] for i in range(len(X)): print(i,X[i])
Esto imprimirá tanto el índice como el valor en la lista.
Hay una manera fácil de obtener el índice y el valor usando la función enumerate. El uso de la función enumerate se ilustra a continuación.
X=[1,2,3,4,5,6] for i,value in enumerate(X): print(i,value)
Salida: 0,1 1,2 2,3 3,4 4,5 5,6
Iterar un conjunto es como la iteración de lista usando bucle for. Un ejemplo se ilustra a continuación.
X={1,2,3,4,5,6} for i,value in enumerate(X): print(i,value)
Salida: 0,1 1,2 2,3 3,4 4,5 5,6
Iterar una tupla es como la iteración de lista usando bucle for. Un ejemplo se ilustra a continuación.
X=(1,2,3,4,5,6) for i,value in enumerate(X): print(i,value)
Salida: 0,1 1,2 2,3 3,4 4,5 5,6
Iterar un diccionario es diferente de los otros tipos de datos, ya que el diccionario contiene pares clave-valor. Por lo tanto, para obtener solo las claves usamos dictionaryname.keys() y para los valores usamos dictionaryname.values(). Un ejemplo se ilustra a continuación.
X={“1”:1,”2”:2} for key in X.keys(): print(key) for value in X.values(): print(value) for key,value in X.items(): print(key,value)
Salida: 1 2 1 2 1,1 2,2
Los bucles anidados son útiles al construir una solución de fuerza bruta para un problema dado. Aumentan la complejidad temporal del programa y disminuyen la legibilidad.
a = [1, 2] b = [10, 13] # obteniendo números cuyo producto es 13 for i in a: for j in b: if i*j == 13: print(i, j)
En el bloque de código anterior, definimos 2 listas y cada lista tiene alguna colección de números. El objetivo principal era encontrar qué números tienen un producto de 13 de ambas listas y también imprimir esos números. Para este propósito, tuvimos que iterar a través de 2 listas, por lo tanto, se utilizaron 2 bucles for.
Forma alternativa:
Hay una función en itertools que se llama product. Esto ayuda a mantener los bucles for anidados, si están presentes en el programa, legibles. El ejemplo se ilustra a continuación.
from itertools import product
a = [1, 2]
b = [10, 13]
# obteniendo números cuyo producto es 13
for i, j in product(a, b):
if(i*j == 13): print(i, j)
Hasta ahora, solo hemos impreso la salida pero nunca hemos dado ninguna entrada a nuestro programa. En Python, input() se utiliza para dar entrada al programa. El examen se ilustra a continuación. El bucle while se utiliza cuando deseas ejecutar un programa si se cumple la condición. Los ejemplos de bucles while se ilustran a continuación.
Imprimiendo 0-9 usando bucle while:
i = 0
while(i < 10): print(i) i += 1
Como puedes ver, la sintaxis es while seguida de una condición, y dentro del bucle incrementamos el iterador de acuerdo al número deseado.
Salida: 0 1 2 3 4 5 6 7 8 9
En este blog, hemos cubierto algunos conceptos básicos de las declaraciones de bucle en python, los temas posteriores sobre funciones se cubrirán en el próximo blog. La pregunta a resolver se da a continuación.
También te puede gustar nuestro Curso de JavaScript de Principiante a Avanzado.
Experto en JavaScript e instructor que capacita a departamentos de TI. Su objetivo principal es aumentar la productividad del equipo enseñando a otros cómo cooperar de manera efectiva mientras programan.
Recientemente, han surgido dos fenómenos en el mercado laboral relacionados con las actitudes de los…
¿Cómo vender en Pinterest y por qué deberías hacerlo? Vender en Pinterest es otra forma…
¿Eres un freelancer que busca formas de promocionar su portafolio? Hoy en día, no solo…
La gestión financiera digital y la contabilidad en línea se han vuelto cada vez más…
Los estatutos del proyecto son el pan y la mantequilla de la gestión de proyectos.…
Las organizaciones de diversas industrias establecen relaciones con posibles empleados, proveedores y socios todos los…