Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Bucles For | Loops
Introducción a Python
course content

Contenido del Curso

Introducción a Python

Introducción a Python

1. Comenzando
2. Variables y Tipos
3. Declaraciones Condicionales
4. Otros Tipos de Datos
5. Loops
6. Funciones

book
Bucles For

¡Bienvenido a la sección dedicada a los bucles!

En este capítulo, profundizaremos en cómo los bucles sirven como una herramienta clave para automatizar tareas repetitivas y son esenciales para manejar eficientemente listas y otros tipos de datos iterables.

Únete a Alex mientras demuestra el uso de los bucles for para simplificar operaciones en nuestra tienda de comestibles:

El uso de los bucles for en Python te permite ejecutar un bloque de código repetidamente para cada elemento en una colección (objeto iterable). Esto es lo que necesitas saber sobre los bucles for:

Sintaxis

Inicia un bucle for con la palabra clave for, seguida de un nombre de variable como item para representar cada elemento en la secuencia. Esto es seguido por la palabra clave in y luego el objeto iterable como groceryItems. El bloque de código dentro del bucle se ejecuta una vez por cada elemento.

En este ejemplo, item actúa como la variable iteradora que accede secuencialmente a cada elemento en la lista groceryItems y ejecuta la función print() para cada uno:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteración se refiere al proceso de ejecutar un bloque de código repetidamente. Python admite dos tipos principales de iteración:

Iteración Definida

Donde el número de iteraciones es conocido de antemano. Los bucles for son un ejemplo clásico, deteniéndose automáticamente cuando llegan al final de la secuencia.

Iteración Indefinida

En la cual la ejecución continúa hasta que se cumple una condición específica, típicamente manejada por bucles while, que se explorarán en detalle en el próximo capítulo.

Aplicaciones de Ejemplo

Los bucles for en Python se pueden usar con cualquier objeto iterable (lists, tuples, dictionaries, strings), permitiendo la manipulación de datos de manera por elemento.

Ya sea que necesites acceder a elementos en una lista, claves o valores en un diccionario, o caracteres en una cadena, los bucles for proporcionan una sintaxis clara que simplifica el código para tareas repetitivas.

Aquí te mostramos cómo puedes usar un bucle for para iterar sobre los elementos en una cadena y una tupla, similar a cómo vimos con listas:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Al usar un bucle for con un diccionario, iterar directamente sobre el diccionario recorrerá sus claves por defecto.

Esto es lo que puedes esperar cuando iteras directamente sobre un diccionario:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Observa cómo la variable iteradora product solo accede a las claves del diccionario.

Para iterar sobre los valores de un diccionario, puedes usar el método values().

Esto es útil para operaciones que requieren acceso a los valores sin necesidad de referenciar las claves:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Si necesitas acceder a las llaves y valores simultáneamente, el método items() te permite recorrer pares clave-valor en un diccionario.

Para usar este método en un bucle for, especificamos dos variables antes de la palabra clave in: una para la clave (product) y otra para el valor (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Nota

En este ejemplo, usamos f-strings (también conocidos como literales de cadena formateados) para incrustar variables directamente en cadenas. La sintaxis es simple: añade una f antes de la comilla de apertura ", y coloca variables o expresiones dentro de llaves {} dentro de la cadena. Este método hace que combinar cadenas y variables en declaraciones print sea mucho más legible, por lo que vale la pena aprenderlo.

Basándote en tu conocimiento de if/else, operadores booleanos y bucles for, podemos realizar una simple verificación de inventario en un diccionario:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Nota

Puede notar que hemos colocado declaraciones if dentro del bucle for, lo que agregó sangría adicional al bloque if. Como se mencionó anteriormente, cada bloque de código con sangría puede tratarse como independiente, independientemente de dónde se coloque. La clave es asegurarse de que la sangría sea consistente y correcta entre ellos.

Tarea

Swipe to start coding

En esta tarea, eres responsable de gestionar el stock y las promociones de una tienda de comestibles. Tu objetivo es recorrer el inventario, verificar si algún producto necesita reabastecimiento y aplicar promociones si existen.

Instrucciones de Código

  • Itera a través de los elementos en el diccionario inventory.
  • Dentro del bucle, recupera el stock actual y el stock mínimo para cada producto de la lista de inventario.
  • Escribe una declaración if que verifique si el stock actual es menor o igual a el stock mínimo, desencadenando un mensaje sobre el reabastecimiento.
  • Cuando se cumpla la condición de reabastecimiento, aumenta el stock actual en 20 unidades y actualiza el inventario.
  • Completa la condición if para verificar si un producto tiene una promoción comprobando si existe en el diccionario promotions.

Requisitos de Salida

  • Para cada producto, imprime un mensaje en el formato: --- Processing: <item> ---.
  • Si un producto necesita reabastecimiento, imprime: <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>.
  • Después del reabastecimiento, imprime el nivel de stock actualizado: Updated stock for <item>: <updated_stock>.
  • Si existe una promoción para un producto, imprime: Promotion for <item>: <promotion_details>.
  • Si no existe una promoción, imprime: No promotions for <item>.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 1
toggle bottom row

book
Bucles For

¡Bienvenido a la sección dedicada a los bucles!

En este capítulo, profundizaremos en cómo los bucles sirven como una herramienta clave para automatizar tareas repetitivas y son esenciales para manejar eficientemente listas y otros tipos de datos iterables.

Únete a Alex mientras demuestra el uso de los bucles for para simplificar operaciones en nuestra tienda de comestibles:

El uso de los bucles for en Python te permite ejecutar un bloque de código repetidamente para cada elemento en una colección (objeto iterable). Esto es lo que necesitas saber sobre los bucles for:

Sintaxis

Inicia un bucle for con la palabra clave for, seguida de un nombre de variable como item para representar cada elemento en la secuencia. Esto es seguido por la palabra clave in y luego el objeto iterable como groceryItems. El bloque de código dentro del bucle se ejecuta una vez por cada elemento.

En este ejemplo, item actúa como la variable iteradora que accede secuencialmente a cada elemento en la lista groceryItems y ejecuta la función print() para cada uno:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteración se refiere al proceso de ejecutar un bloque de código repetidamente. Python admite dos tipos principales de iteración:

Iteración Definida

Donde el número de iteraciones es conocido de antemano. Los bucles for son un ejemplo clásico, deteniéndose automáticamente cuando llegan al final de la secuencia.

Iteración Indefinida

En la cual la ejecución continúa hasta que se cumple una condición específica, típicamente manejada por bucles while, que se explorarán en detalle en el próximo capítulo.

Aplicaciones de Ejemplo

Los bucles for en Python se pueden usar con cualquier objeto iterable (lists, tuples, dictionaries, strings), permitiendo la manipulación de datos de manera por elemento.

Ya sea que necesites acceder a elementos en una lista, claves o valores en un diccionario, o caracteres en una cadena, los bucles for proporcionan una sintaxis clara que simplifica el código para tareas repetitivas.

Aquí te mostramos cómo puedes usar un bucle for para iterar sobre los elementos en una cadena y una tupla, similar a cómo vimos con listas:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Al usar un bucle for con un diccionario, iterar directamente sobre el diccionario recorrerá sus claves por defecto.

Esto es lo que puedes esperar cuando iteras directamente sobre un diccionario:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Observa cómo la variable iteradora product solo accede a las claves del diccionario.

Para iterar sobre los valores de un diccionario, puedes usar el método values().

Esto es útil para operaciones que requieren acceso a los valores sin necesidad de referenciar las claves:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Si necesitas acceder a las llaves y valores simultáneamente, el método items() te permite recorrer pares clave-valor en un diccionario.

Para usar este método en un bucle for, especificamos dos variables antes de la palabra clave in: una para la clave (product) y otra para el valor (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Nota

En este ejemplo, usamos f-strings (también conocidos como literales de cadena formateados) para incrustar variables directamente en cadenas. La sintaxis es simple: añade una f antes de la comilla de apertura ", y coloca variables o expresiones dentro de llaves {} dentro de la cadena. Este método hace que combinar cadenas y variables en declaraciones print sea mucho más legible, por lo que vale la pena aprenderlo.

Basándote en tu conocimiento de if/else, operadores booleanos y bucles for, podemos realizar una simple verificación de inventario en un diccionario:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Nota

Puede notar que hemos colocado declaraciones if dentro del bucle for, lo que agregó sangría adicional al bloque if. Como se mencionó anteriormente, cada bloque de código con sangría puede tratarse como independiente, independientemente de dónde se coloque. La clave es asegurarse de que la sangría sea consistente y correcta entre ellos.

Tarea

Swipe to start coding

En esta tarea, eres responsable de gestionar el stock y las promociones de una tienda de comestibles. Tu objetivo es recorrer el inventario, verificar si algún producto necesita reabastecimiento y aplicar promociones si existen.

Instrucciones de Código

  • Itera a través de los elementos en el diccionario inventory.
  • Dentro del bucle, recupera el stock actual y el stock mínimo para cada producto de la lista de inventario.
  • Escribe una declaración if que verifique si el stock actual es menor o igual a el stock mínimo, desencadenando un mensaje sobre el reabastecimiento.
  • Cuando se cumpla la condición de reabastecimiento, aumenta el stock actual en 20 unidades y actualiza el inventario.
  • Completa la condición if para verificar si un producto tiene una promoción comprobando si existe en el diccionario promotions.

Requisitos de Salida

  • Para cada producto, imprime un mensaje en el formato: --- Processing: <item> ---.
  • Si un producto necesita reabastecimiento, imprime: <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>.
  • Después del reabastecimiento, imprime el nivel de stock actualizado: Updated stock for <item>: <updated_stock>.
  • Si existe una promoción para un producto, imprime: Promotion for <item>: <promotion_details>.
  • Si no existe una promoción, imprime: No promotions for <item>.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 1
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
Lamentamos que algo salió mal. ¿Qué pasó?
some-alt