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

Desliza para mostrar el menú

book
Bucles While

Los bucles while son la herramienta clave para manejar la iteración indefinida, lo cual es útil en escenarios donde no se conoce de antemano el número de iteraciones, como al monitorear los niveles de inventario hasta que alcancen un umbral específico.

Observa cómo Alex demuestra el uso de bucles while para gestionar situaciones dinámicas:

Un bucle while en Python ejecuta continuamente un bloque de código mientras una condición especificada permanezca en True.

Sintaxis

Para iniciar un bucle while, se define una variable contador y se utiliza la palabra clave while seguida de una condición booleana. La condición va seguida de dos puntos :, lo que indica el inicio del bloque de código del bucle.

El bucle se ejecutará repetidamente hasta que la condición sea False. Normalmente, la variable contador se actualiza dentro del bucle para que eventualmente la condición sea False y el bucle se detenga.

Considera este ejemplo de bucle while:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

En este ejemplo, queue_length actúa como nuestra variable contadora, comenzando en 5. Con cada iteración del bucle, el valor de queue_length disminuye en 1 hasta que llega a 0. En ese momento, el bucle termina porque la condición 0 > 0 se evalúa como False.

Nota

Es fundamental actualizar la variable contadora dentro del bucle para finalmente cumplir la condición de finalización del bucle. De lo contrario, el bucle se ejecutará infinitamente, impidiendo que se ejecute cualquier otro código.

Aplicación de ejemplo

Imagina que estás gestionando el stock de leche en un supermercado. Debes asegurarte de que el stock no baje de cierto nivel y, cuando lo haga, deberías reponerlo para mantener el nivel adecuado.

Un bucle while es útil en esta situación porque permite reponer la leche en incrementos a lo largo de varias iteraciones hasta alcanzar el nivel deseado. Sin un bucle while, tendrías que calcular la cantidad exacta de leche a reponer de una sola vez.

Por ejemplo, considera que un trabajador de la tienda solo puede reponer una cantidad fija de leche en un solo viaje (por ejemplo, 20 paquetes por reposición). Si el stock no se repone completamente, el trabajador regresa al almacén para traer otro lote de leche.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Nota

milk_stock += restock_quantity es equivalente a milk_stock = milk_stock + restock_quantity. Es simplemente una forma más concisa y legible de expresar la misma operación.

El diagrama de flujo anterior ilustra la lógica detrás del bucle while utilizado para gestionar el inventario de leche. Observe cómo la variable contador milk_stock, que comienza en 15, se incrementa por el valor de restock_quantity en cada iteración del bucle.

El bucle continúa ejecutándose hasta que milk_stock supera el umbral min_stock de 50, momento en el cual se detiene.

Tarea

Swipe to start coding

Gestionar el inventario de una tienda de comestibles utilizando bucles while para asegurar que Bread, Eggs y Apples cumplan con sus niveles mínimos de stock. Las cantidades de reposición se almacenan en un diccionario.

  • Utilizar un bucle while para comprobar si "Bread" está por debajo de su stock mínimo. Si es así, aumentar su stock utilizando la cantidad de reposición correspondiente del diccionario.
  • Repetir la misma lógica para "Eggs" y "Apples", cada uno con su propio bucle while.
  • Después de reponer, recorrer el diccionario inventory usando un bucle for e imprimir los niveles finales de stock para todos los artículos.

Requisitos de salida

  • Para cada artículo repuesto, imprimir:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Después de toda la reposición, imprimir Final Inventory after restocking: seguido de los niveles de stock actualizados:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Insertar una nueva línea antes del inventario final usando \n.
  • Utilizar f-strings para el formato y comillas simples dentro de las cadenas de diccionario.

Nota

Para evitar conflictos de sintaxis en las f-strings, usar comillas dobles alrededor de la cadena y comillas simples dentro: f"Bread stock is low: {inventory['Bread'][0]} units."
Usar \n para comenzar una nueva línea en la salida: "First line.\nSecond line."

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 2

Pregunte a AI

expand
ChatGPT

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

book
Bucles While

Los bucles while son la herramienta clave para manejar la iteración indefinida, lo cual es útil en escenarios donde no se conoce de antemano el número de iteraciones, como al monitorear los niveles de inventario hasta que alcancen un umbral específico.

Observa cómo Alex demuestra el uso de bucles while para gestionar situaciones dinámicas:

Un bucle while en Python ejecuta continuamente un bloque de código mientras una condición especificada permanezca en True.

Sintaxis

Para iniciar un bucle while, se define una variable contador y se utiliza la palabra clave while seguida de una condición booleana. La condición va seguida de dos puntos :, lo que indica el inicio del bloque de código del bucle.

El bucle se ejecutará repetidamente hasta que la condición sea False. Normalmente, la variable contador se actualiza dentro del bucle para que eventualmente la condición sea False y el bucle se detenga.

Considera este ejemplo de bucle while:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

En este ejemplo, queue_length actúa como nuestra variable contadora, comenzando en 5. Con cada iteración del bucle, el valor de queue_length disminuye en 1 hasta que llega a 0. En ese momento, el bucle termina porque la condición 0 > 0 se evalúa como False.

Nota

Es fundamental actualizar la variable contadora dentro del bucle para finalmente cumplir la condición de finalización del bucle. De lo contrario, el bucle se ejecutará infinitamente, impidiendo que se ejecute cualquier otro código.

Aplicación de ejemplo

Imagina que estás gestionando el stock de leche en un supermercado. Debes asegurarte de que el stock no baje de cierto nivel y, cuando lo haga, deberías reponerlo para mantener el nivel adecuado.

Un bucle while es útil en esta situación porque permite reponer la leche en incrementos a lo largo de varias iteraciones hasta alcanzar el nivel deseado. Sin un bucle while, tendrías que calcular la cantidad exacta de leche a reponer de una sola vez.

Por ejemplo, considera que un trabajador de la tienda solo puede reponer una cantidad fija de leche en un solo viaje (por ejemplo, 20 paquetes por reposición). Si el stock no se repone completamente, el trabajador regresa al almacén para traer otro lote de leche.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Nota

milk_stock += restock_quantity es equivalente a milk_stock = milk_stock + restock_quantity. Es simplemente una forma más concisa y legible de expresar la misma operación.

El diagrama de flujo anterior ilustra la lógica detrás del bucle while utilizado para gestionar el inventario de leche. Observe cómo la variable contador milk_stock, que comienza en 15, se incrementa por el valor de restock_quantity en cada iteración del bucle.

El bucle continúa ejecutándose hasta que milk_stock supera el umbral min_stock de 50, momento en el cual se detiene.

Tarea

Swipe to start coding

Gestionar el inventario de una tienda de comestibles utilizando bucles while para asegurar que Bread, Eggs y Apples cumplan con sus niveles mínimos de stock. Las cantidades de reposición se almacenan en un diccionario.

  • Utilizar un bucle while para comprobar si "Bread" está por debajo de su stock mínimo. Si es así, aumentar su stock utilizando la cantidad de reposición correspondiente del diccionario.
  • Repetir la misma lógica para "Eggs" y "Apples", cada uno con su propio bucle while.
  • Después de reponer, recorrer el diccionario inventory usando un bucle for e imprimir los niveles finales de stock para todos los artículos.

Requisitos de salida

  • Para cada artículo repuesto, imprimir:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Después de toda la reposición, imprimir Final Inventory after restocking: seguido de los niveles de stock actualizados:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Insertar una nueva línea antes del inventario final usando \n.
  • Utilizar f-strings para el formato y comillas simples dentro de las cadenas de diccionario.

Nota

Para evitar conflictos de sintaxis en las f-strings, usar comillas dobles alrededor de la cadena y comillas simples dentro: f"Bread stock is low: {inventory['Bread'][0]} units."
Usar \n para comenzar una nueva línea en la salida: "First line.\nSecond line."

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 2
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