What is a While Loop in Python?
A while loop executes a block of code as long as a specified condition evaluates to True. It checks the condition at the beginning of each iteration.
Why Use While Loops?
- Repetition Without Knowing Exact Iterations: When you don’t know in advance how many times a block of code should execute.
- Dynamic Exit Conditions: Based on runtime input or program state.
- Efficient Iterative Tasks: Perform operations like counting, processing data or validating inputs.
Syntax of a While Loop
while condition:
# Code to execute as long as the condition is True
- condition: A boolean expression. The loop runs until this evaluates to False.
- Indentation: The code block inside the loop must be indented.
Example: Basic While Loop
count = 1
while count <= 5:
print("Count is:", count)
count += 1
Output:
csharpCopy codeCount is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Using Else with While Loops
Python allows an optional else block with a while loop. The else block executes after the loop ends, provided the condition becomes False and the loop wasn’t terminated by a break statement.
Example:
number = 3
while number > 0:
print("Number:", number)
number -= 1
else:
print("Loop ended naturally.")
Output:
vbnetCopy codeNumber: 3
Number: 2
Number: 1
Loop ended naturally.
Common Operations in While Loops
1. Infinite Loops:
A while loop can run indefinitely if the condition never becomes False. Use infinite loops with caution and always include a way to break out.
Example:
while True:
user_input = input("Type 'exit' to stop: ")
if user_input.lower() == "exit":
print("Exiting the loop.")
break
2. Using Break Statement:
The break statement exits the loop immediately, even if the condition is still True.
Example:
count = 0
while count < 10:
print(count)
count += 1
if count == 5:
print("Loop terminated early.")
break
3. Using Continue Statement:
The continue statement skips the current iteration and moves to the next iteration.
Example:
count = 0
while count < 5:
count += 1
if count == 3:
print("Skipping 3.")
continue
print("Current count:", count)
Output:
Current count: 1
Current count: 2
Skipping 3.
Current count: 4
Current count: 5
Practical Examples of While Loops
Example 1: Countdown Timer
import time
countdown = 5
while countdown > 0:
print("Countdown:", countdown)
countdown -= 1
time.sleep(1) # Adds a 1-second delay
print("Blastoff!")
Example 2: User Input Validation
while True:
age = input("Enter your age (number only): ")
if age.isdigit():
print("Thank you!")
break
else:
print("Invalid input. Please try again.")
Example 3: Summing Numbers Until Zero
total = 0
while True:
num = int(input("Enter a number (0 to stop): "))
if num == 0:
break
total += num
print("Total sum is:", total)
Best Practices for Using While Loops
- Set Clear Exit Conditions: Always ensure your loop has a defined stopping point.
- Minimize Infinite Loops: Use infinite loops sparingly and always include break statements.
- Validate Input: When using while loops for input validation, check all possible edge cases.