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

Desliza para mostrar el menú

book
Bucles For

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

En este capítulo, exploraremos cómo los bucles son una herramienta clave para la automatización de tareas repetitivas y resultan esenciales para manejar de manera eficiente listas y otros tipos de datos iterables.

Acompaña 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 permite ejecutar un bloque de código repetidamente para cada elemento en una colección (objeto iterable). Aspectos clave sobre los bucles for:

Sintaxis

Un bucle for se inicia con la palabra clave for, seguida de un nombre de variable como item para representar cada elemento en la secuencia. Luego se utiliza la palabra clave in y, a continuación, 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 de 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

Cuando el número de iteraciones es conocido de antemano. Los bucles for son un ejemplo clásico, ya que se detienen automáticamente cuando alcanzan el final de la secuencia.

Iteración Indefinida

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

Ejemplos de Aplicación

Los bucles for en Python pueden utilizarse con cualquier objeto iterable (lists, tuples, dictionaries, strings), lo que permite la manipulación de datos elemento por elemento.

Ya sea que necesite 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.

A continuación se muestra cómo puede utilizar un bucle for para iterar sobre los elementos de una cadena y una tupla, de manera similar a como se hace con las 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 utilizar un bucle for con un diccionario, iterar directamente sobre el diccionario recorrerá sus claves por defecto.

Esto es lo que sucede al iterar 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 utilizar el método values().

Esto es útil para operaciones que requieren acceso a los valores sin necesidad de hacer referencia a 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 claves y valores simultáneamente, el método items() te permite recorrer pares clave-valor en un diccionario.

Para utilizar este método en un bucle for, se deben especificar 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, se utilizan f-strings (también conocidas como cadenas literales formateadas) para insertar variables directamente en cadenas de texto. La sintaxis es sencilla: añade una f antes de la comilla de apertura " y coloca variables o expresiones dentro de llaves {} en la cadena. Este método hace que la combinación de cadenas y variables en las sentencias print sea mucho más legible, por lo que vale la pena aprenderlo.

Basándose en el conocimiento de if/else, operadores booleanos y bucles for, es posible realizar una comprobación sencilla 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 sentencias if dentro del bucle for, lo que añadió sangría adicional al bloque if. Como se mencionó anteriormente, cada bloque de código con sangría puede considerarse independiente, sin importar dónde se coloque. Lo importante es asegurarse de que la sangría sea consistente y correcta entre ellos.

Tarea

Swipe to start coding

Gestionar el inventario y las promociones en una tienda de comestibles recorriendo el inventario, verificando las condiciones de reposición y aplicando promociones.

  • Recorrer cada producto en el diccionario inventory.
  • Dentro del bucle, obtener current_stock y min_stock de la lista de inventario.
  • Utilizar una declaración if para comprobar si el stock actual es menor o igual que el stock mínimo:
    • Si es así, imprimir un mensaje de reposición, aumentar el stock en 20, actualizar el inventario e imprimir el mensaje de actualización.
  • Utilizar otra declaración if para comprobar si el producto existe en el diccionario promotions.

Requisitos de salida

Para cada artículo, imprimir:

  • --- Processing: <item> ---

  • Si se necesita reposición:
    <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>

    Updated stock for <item>: <updated_stock>

  • Si existe promoción:
    Promotion for <item>: <promotion_details>

  • Si no:
    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

Pregunte a AI

expand
ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

book
Bucles For

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

En este capítulo, exploraremos cómo los bucles son una herramienta clave para la automatización de tareas repetitivas y resultan esenciales para manejar de manera eficiente listas y otros tipos de datos iterables.

Acompaña 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 permite ejecutar un bloque de código repetidamente para cada elemento en una colección (objeto iterable). Aspectos clave sobre los bucles for:

Sintaxis

Un bucle for se inicia con la palabra clave for, seguida de un nombre de variable como item para representar cada elemento en la secuencia. Luego se utiliza la palabra clave in y, a continuación, 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 de 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

Cuando el número de iteraciones es conocido de antemano. Los bucles for son un ejemplo clásico, ya que se detienen automáticamente cuando alcanzan el final de la secuencia.

Iteración Indefinida

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

Ejemplos de Aplicación

Los bucles for en Python pueden utilizarse con cualquier objeto iterable (lists, tuples, dictionaries, strings), lo que permite la manipulación de datos elemento por elemento.

Ya sea que necesite 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.

A continuación se muestra cómo puede utilizar un bucle for para iterar sobre los elementos de una cadena y una tupla, de manera similar a como se hace con las 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 utilizar un bucle for con un diccionario, iterar directamente sobre el diccionario recorrerá sus claves por defecto.

Esto es lo que sucede al iterar 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 utilizar el método values().

Esto es útil para operaciones que requieren acceso a los valores sin necesidad de hacer referencia a 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 claves y valores simultáneamente, el método items() te permite recorrer pares clave-valor en un diccionario.

Para utilizar este método en un bucle for, se deben especificar 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, se utilizan f-strings (también conocidas como cadenas literales formateadas) para insertar variables directamente en cadenas de texto. La sintaxis es sencilla: añade una f antes de la comilla de apertura " y coloca variables o expresiones dentro de llaves {} en la cadena. Este método hace que la combinación de cadenas y variables en las sentencias print sea mucho más legible, por lo que vale la pena aprenderlo.

Basándose en el conocimiento de if/else, operadores booleanos y bucles for, es posible realizar una comprobación sencilla 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 sentencias if dentro del bucle for, lo que añadió sangría adicional al bloque if. Como se mencionó anteriormente, cada bloque de código con sangría puede considerarse independiente, sin importar dónde se coloque. Lo importante es asegurarse de que la sangría sea consistente y correcta entre ellos.

Tarea

Swipe to start coding

Gestionar el inventario y las promociones en una tienda de comestibles recorriendo el inventario, verificando las condiciones de reposición y aplicando promociones.

  • Recorrer cada producto en el diccionario inventory.
  • Dentro del bucle, obtener current_stock y min_stock de la lista de inventario.
  • Utilizar una declaración if para comprobar si el stock actual es menor o igual que el stock mínimo:
    • Si es así, imprimir un mensaje de reposición, aumentar el stock en 20, actualizar el inventario e imprimir el mensaje de actualización.
  • Utilizar otra declaración if para comprobar si el producto existe en el diccionario promotions.

Requisitos de salida

Para cada artículo, imprimir:

  • --- Processing: <item> ---

  • Si se necesita reposición:
    <item> needs restocking. Current stock: <current_stock>. Minimum required: <min_stock>

    Updated stock for <item>: <updated_stock>

  • Si existe promoción:
    Promotion for <item>: <promotion_details>

  • Si no:
    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