For loop in Python is used to execute a block of code repeatedly.
In this tutorial, we will learn how to use range(),
break, continue, else and nested loops.
Watch this beginner-friendly Python for loop tutorial to understand how
range(), break, continue,
else with loops and nested for loops work with simple examples.
for x in range(5):
print(x)
Note that the 2nd line print(x) is placed after an indente of one space. Without that we will get an error asking expectd an indented block . The code to be executed within the block is to be kept with indenting as there is no end of for loop like other languages. 0
1
2
3
4
Here is a statement which is outside the loop because there is no indenting at the beginning of the line
for x in range(5):
print(x)
print("I am outside the loop")
Output is here .
0
1
2
3
4
I am outside the loop
In the above code the range is from 0 to 5 ( excluding 5 ) , so we get output from 0 to 4.
for x in range(5, 10):
print(x)
Output is here
5
6
7
8
9
We can add a increment value
for x in range(5, 25, 5):
print(x)
Output is here
5
10
15
20

for x in range(5, 25, 5):
if (x == 15):
continue
print(x)
5
10
20
Using break
for x in range(5, 25, 5):
if (x == 15):
break
print(x)
5
10
for x in range(5, 25, 5):
if (x == 15):
continue
print(x)
else:
print("Out of loop but with else")
print("Out of loop")
Output is here
5
10
20
Out of loop but with else
Out of loop
Code block inside else will be executed in case of continue but not executed in case of break. for x in range(5, 25, 5):
if (x == 15):
break
print(x)
else:
print("Out of loop but with else")
print("Out of loop")
Output is here ( else part is skipped )
5
10
Out of loop
Check how else in for loop is used to display all prime numbers upto 100.
num = 100 # change this value to get all prime numbers
for i in range(2, num - 1):
for j in range(2, i - 1):
if (i % j == 0):
break
else:
print(i, " is a prime number")
Output is
2 is a prime number
3 is a prime number
5 is a prime number
7 is a prime number
-----
-----
83 is a prime number
89 is a prime number
97 is a prime number
names = ["King", "Queen", "Jack & others"]
for str1 in names:
print(str1)
Output is here
King
Queen
Jack & others
When you need both the index position and the corresponding value during iteration, combine the for...in construct with Python's built-in enumerate() function.
# Program to loop through a list while tracking the index
names = ["Alice", "Bob", "Charlie"]
for index, name in enumerate(names):
print(f"Index {index}: {name}")
To unpack and iterate through dictionary key-value pairs seamlessly, use the .items() method inside the for...in structure.
# Program to iterate over keys and values in a dictionary
student = {"name": "John", "age": 20, "grade": "A"}
for key, value in student.items():
print(f"{key}: {value}")
for i in range(5):
for j in range(5):
print('*', end='')
print("")
Output is here
*****
*****
*****
*****
*****
More on Patterns using nested for loops Multiplication table using nested for loops
names=["King","Queen","Jack & others"]
ages=["child","Young","old"]
for str1 in names:
for str2 in ages:
print(str1,str2)
Output is here
King child
King Young
King old
Queen child
Queen Young
Queen old
Jack & others child
Jack & others Young
Jack & others old
list, tuple, string, dictionary, or range()).
True. The exact number of iterations is often unknown beforehand.
| Feature | for Loop |
while Loop |
|---|---|---|
| Control Mechanism | Iterates over items in an iterable or range() |
Evaluates a boolean condition (True / False) |
| Iteration Count | Predetermined by the sequence length | Variable / dependent on condition evaluation |
| Counter Variable | Handled and updated automatically by Python | Must be initialized and modified manually |
| Primary Use Cases | Traversal of lists, ranges, strings, and datasets | Handling user input, game loops, dynamic conditions |
| Infinite Loop Risk | Very low | High (if condition fails to evaluate to False) |

Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.