A for loop in Python is used to iterate over a sequence (such as a list, tuple, dictionary, set, or string) or any other iterable object. Unlike a while loop that runs as long as a condition is true, a for loop runs a specific number of times—once for each item in the sequence.
The Syntax
Python
for item in sequence:
# Code to execute for each item
- Python assigns the first value in the
sequenceto the variableitem. - The code block inside the loop executes.
- Python assigns the next value in the
sequencetoitemand runs the block again. - This continues until there are no more items in the sequence.
5 Detailed Examples
Here are five examples demonstrating the versatility of for loops in Python, from iterating over basic collections to using built-in helper functions.
1. Iterating Over a List
This is the most standard use of a for loop. It goes through each element in a list one by one in the order they appear.
Python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(f"I like to eat {fruit}s.")
# Output:
# I like to eat apples.
# I like to eat bananas.
# I like to eat cherrys.
2. Using the range() Function
The range() function generates a sequence of numbers, which is incredibly useful when you want a for loop to run a specific number of times. It can take up to three arguments: range(start, stop, step).
Python
# range(5) generates numbers from 0 up to, but not including, 5
for i in range(5):
print(f"Iteration {i}")
print("---")
# range(2, 10, 2) starts at 2, stops before 10, and steps by 2
for even_number in range(2, 10, 2):
print(even_number)
# Output:
# Iteration 0
# Iteration 1
# Iteration 2
# Iteration 3
# Iteration 4
# ---
# 2
# 4
# 6
# 8
3. Iterating Over a String
In Python, strings are just sequences of characters. A for loop will iterate through a string character by character.
Python
word = "Python"
for letter in word:
# end="-" prevents print from starting a new line every time
print(letter.upper(), end="-")
# Output:
# P-Y-T-H-O-N-
4. Using enumerate() to Get the Index
Often, you need both the value of the item and its position (index) in the sequence. The enumerate() function provides a clean way to get both simultaneously without having to manually set up a counter variable.
Python
top_movies = ["The Matrix", "Inception", "Interstellar"]
# enumerate() returns a tuple (index, value) for each iteration
for rank, movie in enumerate(top_movies, start=1):
print(f"Rank {rank}: {movie}")
# Output:
# Rank 1: The Matrix
# Rank 2: Inception
# Rank 3: Interstellar
5. Iterating Over a Dictionary
Dictionaries hold key-value pairs. By default, iterating over a dictionary yields its keys. However, using the .items() method allows you to loop through both the keys and the values at the same time.
Python
student_grades = {
"Alice": "A",
"Bob": "C+",
"Charlie": "B"
}
# .items() unpacks both the key (name) and the value (grade)
for name, grade in student_grades.items():
print(f"Student {name} scored a {grade}.")
# Output:
# Student Alice scored a A.
# Student Bob scored a C+.
# Student Charlie scored a B.
Here is a collection of 20 Python while loop examples, structured from fundamental concepts to more practical applications. You can use these to gradually build your students’ understanding of iteration, condition checking, and loop control.
Part 1: Basic Counting and Iteration
These examples establish the core mechanics of a while loop: initialization, condition, and increment/decrement.
1. Simple Counter (1 to 5)
Demonstrates the most basic form of a loop.
Python
i = 1
while i <= 5:
print("Count:", i)
i += 1 # Always remind students to increment!
2. Countdown (5 to 1)
Shows how to decrement a value until it reaches a base condition.
Python
countdown = 5
while countdown > 0:
print(countdown)
countdown -= 1
print("Blastoff!")
3. Printing Even Numbers
Introduces stepping by values other than 1.
Python
num = 2
while num <= 10:
print(num)
num += 2 # Increment by 2
4. Printing Odd Numbers
Similar to the above, but starts at a different initial value.
Python
num = 1
while num <= 10:
print(num)
num += 2
5. Sum of First N Natural Numbers
Introduces the concept of an accumulator variable.
Python
n = 5
total = 0
i = 1
while i <= n:
total += i # Accumulate the sum
i += 1
print("Sum is:", total)
Part 2: Mathematical Operations
These loops show how iteration is used to solve standard mathematical problems.
6. Factorial of a Number
A classic algorithmic example for freshers.
Python
num = 5
factorial = 1
while num > 0:
factorial *= num
num -= 1
print("Factorial is:", factorial)
7. Multiplication Table
Useful for showing how loops can generate structured data.
Python
multiplier = 7
i = 1
while i <= 10:
print(f"{multiplier} x {i} = {multiplier * i}")
i += 1
8. Sum of Digits
Teaches students how to use modulo (%) and floor division (//) to break down numbers.
Python
number = 456
digit_sum = 0
while number > 0:
digit_sum += number % 10 # Extract last digit
number //= 10 # Remove last digit
print("Sum of digits:", digit_sum)
9. Reverse a Number
Builds on the previous logic to construct a new integer.
Python
number = 1234
reversed_num = 0
while number > 0:
remainder = number % 10
reversed_num = (reversed_num * 10) + remainder
number //= 10
print("Reversed:", reversed_num)
10. Generating the Fibonacci Sequence
Great for explaining how variables can hand off values to each other.
Python
n_terms = 5
a, b = 0, 1
count = 0
while count < n_terms:
print(a, end=" ")
a, b = b, a + b # Update values simultaneously
count += 1
Part 3: Loop Control Statements
Teaching break and continue gives students finer control over execution flow.
11. Using break to Exit Early
Shows how to stop a loop before the main condition evaluates to False.
Python
i = 1
while i <= 10:
if i == 5:
print("Breaking the loop at 5")
break
print(i)
i += 1
12. Using continue to Skip an Iteration
Shows how to bypass specific conditions without stopping the whole loop.
Python
i = 0
while i < 5:
i += 1
if i == 3:
continue # Skips printing '3'
print(i)
13. The “Do-While” Simulation (Infinite Loop with Break)
Python doesn’t have a native do-while loop, so this is the standard workaround.
Python
while True:
user_input = "exit" # Hardcoded for example, usually input()
print("Running...")
if user_input == "exit":
break
Part 4: Data Structures (Lists and Strings)
While for loops are usually better for iterables in Python, doing it with while teaches students about index bounds.
14. Iterating Through a List
Teaches the relationship between loop counters and array/list indices.
Python
fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
print(fruits[index])
index += 1
15. Iterating Through a String
Treats strings as arrays of characters.
Python
text = "Python"
index = 0
while index < len(text):
print(text[index])
index += 1
16. Emptying a List Using pop()
A practical data-processing pattern.
Python
tasks = ["Task 1", "Task 2", "Task 3"]
while tasks: # Loops as long as the list is not empty
current = tasks.pop(0)
print("Processing:", current)
17. Removing All Instances of a Specific Value
Shows a clean way to sanitize a list.
Python
numbers = [1, 2, 3, 2, 4, 2, 5]
while 2 in numbers:
numbers.remove(2)
print("Cleaned list:", numbers)
Part 5: Logic and Patterns
More advanced loops that require tracking state or multiple variables.
18. Linear Search with a While Loop
A foundational algorithm for computer science students.
Python
data = [10, 20, 30, 40, 50]
target = 30
index = 0
found = False
while index < len(data) and not found:
if data[index] == target:
found = True
print(f"Found {target} at index {index}")
index += 1
19. Finding the Greatest Common Divisor (Euclidean Algorithm)
A neat, efficient algorithm that relies heavily on a while loop.
Python
a = 48
b = 18
while b != 0:
temp = b
b = a % b
a = temp
print("GCD is:", a)
20. Printing a Right-Angled Triangle Pattern
Nested loops (or string multiplication) to build visual patterns.
Python
rows = 5
i = 1
while i <= rows:
j = 1
while j <= i:
print("*", end=" ")
j += 1
print("") # Move to the next line
i += 1