In programming, loops are used to repeat a block of code. For example, if we want to show a message 100 times, then we can use a loop. It's just a simple example, we can achieve much more with loops.
In the previous tutorial, we learned about
Python for loop
. Now we will learn about the
while
loop.
Python while Loop
Python
while
loop is used to run a block code until a certain condition is met.
The syntax of
while
loop is:
while condition:
# body of while loop
Here,
-
A
while
loop evaluates thecondition
-
If the
condition
evaluates toTrue
, the code inside thewhile
loop is executed. -
condition
is evaluated again. -
This process continues until the condition is
False
. -
When
condition
evaluates toFalse
, the loop stops.
Flowchart of Python while Loop

Example: Python while Loop
# program to display numbers from 1 to 5
# initialize the variable
i = 1
n = 5
# while loop from i = 1 to 5
while i <= n:
print(i)
i = i + 1
Output
1 2 3 4 5
Here's how the program works:
Variable |
Condition:
i <= n
|
Action |
---|---|---|
i = 1
n = 5
|
True
|
1
is printed.
i
is increased to
2
.
|
i = 2
n = 5
|
True
|
2
is printed.
i
is increased to
3
.
|
i = 3
n = 5
|
True
|
3
is printed.
i
is increased to
4
.
|
i = 4
n = 5
|
True
|
4
is printed.
i
is increased to
5
.
|
i = 5
n = 5
|
True
|
5
is printed.
i
is increased to
6
.
|
i = 6
n = 5
|
False
|
The loop is terminated. |
Example 2: Python while Loop
# program to calculate the sum of numbers
# until the user enters zero
total = 0
number = int(input('Enter a number: '))
# add numbers until number is zero
while number != 0:
total += number # total = total + number
# take integer input again
number = int(input('Enter a number: '))
print('total =', total)
Output
Enter a number: 12 Enter a number: 4 Enter a number: -5 Enter a number: 0 total = 11
In the above example, the
while
iterates until the user enters zero. When the user enters zero, the test condition evaluates to
False
and the loop ends.
Infinite while Loop in Python
If the
condition
of a loop is always
True
, the loop runs for infinite times (until the memory is full). For example,
age = 32
# the test condition is always True
while age > 18:
print('You can vote')
In the above example, the
condition
always evaluates to
True
. Hence, the loop body will run for infinite times.
Python While loop with else
In Python, a
while
loop may have an optional
else
block.
Here, the
else
part is executed after the condition of the loop evaluates to
False
.
counter = 0
while counter < 3:
print('Inside loop')
counter = counter + 1
else:
print('Inside else')
Output
Inside loop Inside loop Inside loop Inside else
Note : The else block will not execute if the while loop is terminated by a break statement.
counter = 0
while counter < 3:
# loop ends because of break
# the else part is not executed
if counter == 1:
break
print('Inside loop')
counter = counter + 1
else:
print('Inside else')
Output
Inside loop Inside else
Python for Vs while loops
The
for
loop is usually used when the number of iterations is
known
. For example,
# this loop is iterated 4 times (0 to 3)
for i in range(4):
print(i)
The
while
loop is usually used when the number of iterations is
unknown
. For example,
while condition:
# run code until the condition evaluates to False