Course Content
Introduction to Python (copy)
Introduction to Python (copy)
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:
# 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
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.
# 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.")
Note
milk_stock += restock_quantity
is equivalent tomilk_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.
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 ownwhile
loop. - After restocking, loop through the
inventory
dictionary using thefor
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
Thanks for your feedback!
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:
# 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
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.
# 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.")
Note
milk_stock += restock_quantity
is equivalent tomilk_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.
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 ownwhile
loop. - After restocking, loop through the
inventory
dictionary using thefor
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
Thanks for your feedback!