Python While Loops



What is a while loop in Python?

The while loop is used to iterate over a block of code as long as the condition is true.

The while loop is often used when we don't know the number of iteration of a loop.


Syntax of While Loop

The syntax of the while loop statement can be given as follows:

while condition:
    statement(s)

In the while loop, the condition is checked first. Statements of the body are executed only if the condition evaluates to True. After each iteration, the condition is checked again. The end of the loop occurs when the condition evaluates to False.

The statement(s) in the loop body is separated by an indentation, and it is executed every time the condition is true.

The body of the while loop starts with indentation, and the first unindented line marks the end.

Python interprets non-zero values as True. The 0 and None values are interpreted as False.


Flowchart of While Loop

The flowchart of the while loop statement is as follows:

Flowchart of While Loop in Python

While Loop - Example

In the following example, we will print the value of the "i" variable as long as "i" is less than 5.

i = 0

while i < 5:
    print(i)
    i = i+1

After running the above code, the output will be :

0
1
2
3
4

Note: Remember to increase the counter variable's value inside the body of the loop. If not, the loop will continue forever (infinite loop).


The break Statement

In Python, you can use the break statement to stop the while loop before it is finished.

Let us see the following example: we will exit the loop when the value of "i" is 4.

i = 0

while i < 7:
    print(i)
    if i == 4:
        break
    i +=1

The output of the above code will be:

0
1 
2 
3 
4

The continue Statement

You can use the continue statement to stop the while loop's current iteration and continue with the next.

In the following example, we will print all the numbers from 1 to 6, but we will ignore the 4.

i = 0

while i < 7:
    i += 1
    if i == 4:
        continue
    print(i)

After executing the above code, the output will be:

1
2
3
5
6
7

While loop with else

A while loop can have an optional else block. The else part is executed when the loop is finished.

In the following example, we will print all numbers from 0 to 6 and print a message when the loop is finished.

i = 0

while i < 7:
    print(i)
    i += 1
else:
    print("The end of the loop")

The output will be:

0
1
2
3
4
5
6
The end of the loop

The else part is ignored when the break statement is used to stop a while loop. However, a while loop's else part executed if not break happens.

In the following example, we will use the break statement to stop a while loop, so the else part will be ignored.

i = 0

while i < 7:
    print(i)
    if i == 4:
        break
    i += 1
else:
    print("The end of the loop")

The output of the above code will be as follows:

0 
1
2 
3 
4

As you can see above, when the break statement is executed in a while loop, the else part will be ignored.



ExpectoCode is optimized for learning. Tutorials and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using this site, you agree to have read and accepted our terms of use, cookie and privacy policy.
Copyright 2020-2021 by ExpectoCode. All Rights Reserved.