Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn While Loops | Loops
Introduction to Python (copy)
course content

Course Content

Introduction to Python (copy)

Introduction to Python (copy)

1. Getting Started
2. Variables and Types
3. Conditional Statements
4. Other Data Types
5. Loops
6. Functions

book
While Loops

while loops are the key tool for handling indefinite iteration, which is useful in scenarios where the number of iterations isn't known in advance, like monitoring inventory levels until they meet a specific threshold.

Watch as Alex demonstrates how to use while loops to handle dynamic situations:

A while loop in Python continuously runs a block of code as long as a specified condition remains True.

Syntax

To start a while loop, you define a counter variable and follow it with the while keyword and a boolean condition. The condition is followed by a colon :, which indicates the start of the loop's code block.

The loop will execute repeatedly until the condition becomes False. Typically, the counter variable is updated inside the loop to eventually make the condition False and stop the loop.

Take this while loop for example:

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

In this example, queue_length acts as our counter variable, starting at 5. With each loop iteration, the value of queue_length decreases by 1 until it reaches 0. At that point, the loop ends because the condition 0 > 0 evaluates to False.

Note

It is crucial to update the counter variable inside the loop to eventually meet the condition for stopping the loop. Without this, the loop will run infinitely, preventing any further code from executing.

Example Application

Imagine you're managing the milk stock in a grocery store. You need to ensure the stock doesn't drop below a certain level, and when it does, you should restock to maintain the stock level.

A while loop is useful in this situation because it allows you to restock milk in increments over several iterations until the stock reaches the desired level. Without a while loop, you'd need to calculate the exact amount of milk to restock all at once.

For instance, consider that a store worker can only restock a fixed amount of milk in one trip (e.g., 20 packs per restock). If the stock isn't fully replenished, the worker returns to the warehouse to bring another batch of milk.

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

Note

milk_stock += restock_quantity is equivalent to milk_stock = milk_stock + restock_quantity. It's simply a more concise and readable way to express the same operation.

The flowchart above illustrates the logic behind the while loop used for managing the milk inventory. Notice how the counter variable milk_stock, starting at 15, is incremented by the restock_quantity with each loop iteration.

The loop keeps running until milk_stock surpasses the min_stock threshold of 50, at which point it stops.

Task

Swipe to start coding

Manage a grocery store’s inventory by using while loops to ensure that Bread, Eggs, and Apples meet their minimum stock levels. Restock quantities are stored in a dictionary.

  • Use a while loop to check if "Bread" is below its minimum stock. If so, increase its stock using the corresponding restock quantity from the dictionary.
  • Repeat the same logic for "Eggs" and "Apples", each with its own while loop.
  • After restocking, loop through the inventory dictionary using the for loop and print the final stock levels for all items.

Output Requirements

  • For each restocked item, print:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • After all restocking, print Final Inventory after restocking: followed by the updated stock levels:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Insert a newline before the final inventory using \n.
  • Use f-strings for formatting and single quotes inside double-quoted strings for dictionary keys.

Note

To avoid syntax conflicts in f-strings, use double quotes around the string and single quotes inside: f"Bread stock is low: {inventory['Bread'][0]} units."
Use \n to start a new line in the output: "First line.\nSecond line."

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 2
toggle bottom row

book
While Loops

while loops are the key tool for handling indefinite iteration, which is useful in scenarios where the number of iterations isn't known in advance, like monitoring inventory levels until they meet a specific threshold.

Watch as Alex demonstrates how to use while loops to handle dynamic situations:

A while loop in Python continuously runs a block of code as long as a specified condition remains True.

Syntax

To start a while loop, you define a counter variable and follow it with the while keyword and a boolean condition. The condition is followed by a colon :, which indicates the start of the loop's code block.

The loop will execute repeatedly until the condition becomes False. Typically, the counter variable is updated inside the loop to eventually make the condition False and stop the loop.

Take this while loop for example:

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

In this example, queue_length acts as our counter variable, starting at 5. With each loop iteration, the value of queue_length decreases by 1 until it reaches 0. At that point, the loop ends because the condition 0 > 0 evaluates to False.

Note

It is crucial to update the counter variable inside the loop to eventually meet the condition for stopping the loop. Without this, the loop will run infinitely, preventing any further code from executing.

Example Application

Imagine you're managing the milk stock in a grocery store. You need to ensure the stock doesn't drop below a certain level, and when it does, you should restock to maintain the stock level.

A while loop is useful in this situation because it allows you to restock milk in increments over several iterations until the stock reaches the desired level. Without a while loop, you'd need to calculate the exact amount of milk to restock all at once.

For instance, consider that a store worker can only restock a fixed amount of milk in one trip (e.g., 20 packs per restock). If the stock isn't fully replenished, the worker returns to the warehouse to bring another batch of milk.

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

Note

milk_stock += restock_quantity is equivalent to milk_stock = milk_stock + restock_quantity. It's simply a more concise and readable way to express the same operation.

The flowchart above illustrates the logic behind the while loop used for managing the milk inventory. Notice how the counter variable milk_stock, starting at 15, is incremented by the restock_quantity with each loop iteration.

The loop keeps running until milk_stock surpasses the min_stock threshold of 50, at which point it stops.

Task

Swipe to start coding

Manage a grocery store’s inventory by using while loops to ensure that Bread, Eggs, and Apples meet their minimum stock levels. Restock quantities are stored in a dictionary.

  • Use a while loop to check if "Bread" is below its minimum stock. If so, increase its stock using the corresponding restock quantity from the dictionary.
  • Repeat the same logic for "Eggs" and "Apples", each with its own while loop.
  • After restocking, loop through the inventory dictionary using the for loop and print the final stock levels for all items.

Output Requirements

  • For each restocked item, print:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • After all restocking, print Final Inventory after restocking: followed by the updated stock levels:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Insert a newline before the final inventory using \n.
  • Use f-strings for formatting and single quotes inside double-quoted strings for dictionary keys.

Note

To avoid syntax conflicts in f-strings, use double quotes around the string and single quotes inside: f"Bread stock is low: {inventory['Bread'][0]} units."
Use \n to start a new line in the output: "First line.\nSecond line."

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 2
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt