Python while Loop
Updated on
•6 min read

Loops are one of the fundamental concepts of programming languages. Loops are handy when you want to repeat a specific block of code a number of times until a given condition is met.
There are two basic loop constructs in Python, for
and while loops.
This tutorial covers the basics of while loops in Python. We’ll also show you how to use the else clause and the break and continue statements.
Python while Loop
The while loop executes its statements an unknown number of times as long as the given condition evaluates to true.
The Python while loop takes the following form:
while EXPRESSION:
STATEMENT(S)
The while statement starts with the while keyword, followed by the conditional expression.
The EXPRESSION is evaluated before executing the statements. If the condition evaluates to true, the STATEMENT(S) is executed. Otherwise, if the condition evaluates to false, the loop is terminated, and the program control is passed to the statement that follows.
The STATEMENT(S) block starts with an indentation and ends with the first unindented line. Most people choose to use either 4-space or 2-space indentation. The official Style Guide for Python Code
recommends to use 4-spaces per indentation level and to avoid mixing the use of tabs and spaces for indentation.
Let’s look at the following example code that increments and prints the current value of the variable i as long as it is less than five:
i=0
while i < 5:
i += 1
print('number:', i)
Tue loop iterates as long as i is less or equal to five. It will produce the following output:
number: 1
number: 2
number: 3
number: 4
number: 5
Python supports standard comparison operations:
a == b- True ifaandbare equal.a != b- True ifaandbare not equal.a > b- True ifais greater thanb.a >= b- True ifais equal or greater thanb.a < b- True ifais less thanb.a <= b- True ifais equal or less thanb.
To negate the conditional expression, use the logical not operator:
i=0
while not i >= 5:
i += 1
print('number:', i)
break and continue Statements
The break and continue statements allow you to control the while loop execution.
The break statement terminates the current loop and passes program control to the statement that follows the terminated loop. The most common situation is to use break to terminate the loop when a certain condition is met.
In the following example, the execution of the loop is interrupted once the current iterated item is equal to 2.
i=0
while i < 5:
i += 1
if i == 2:
break
print('number:', i)
Number: 1
The continue statement exits the current iteration of a loop and passes program control to the loop’s next iteration.
In the following example, once the current iterated item is equal to 2 the continue statement will cause execution to return to the beginning of the loop and to continue with the next iteration.
i=0
while i < 5:
i += 1
if i == 2:
continue
print('number:', i)
number: 1
number: 3
number: 4
number: 5
else Clause
Unlike other languages, in Python, the while loop has an optional else clause:
while EXPRESSION:
STATEMENT(S)
else:
STATEMENT(S)
The statements inside the else clause are executed only when the EXPRESSION evaluates to false. If an exception is raised or if the loop is terminated with the break statement, it won’t be executed.
Here is an example:
i=0
while i < 5:
i += 1
print('number:', i)
else:
print('Loop completed.')
number: 1
number: 2
number: 3
number: 4
number: 5
Loop completed.
Now lew’s see what happens when you break out of the loop:
i=0
while i < 5:
i += 1
if i == 2:
break
print('number:', i)
else:
print('Loop completed.')
The statement inside the else clause is not executed because the expression did not evaluate to false:
Number: 1
The else clause with a while loop is not often used. One common situation is when you expect to break from a loop, and if the loop continues to run until the condition evaluate to false, you can execute some statement or function.
Infinite while Loop
An infinite loop is a loop that repeats indefinitely and never terminates until the program terminates. If the condition always evaluates to true, you get an infinite loop.
Infinite loops are generally used to make the program wait for some external event to occur. Typically, in Python, an infinite loop is created with while True: Instead of True, you can also use any other expression that always returns true.
Here is an example of an infinite while loop that will continue to prompt you to enter “Yes”:
while True:
i = input('Please enter \'Yes\': ')
if i.strip() == 'Yes':
break
The while loop above will run until you enter “Yes”:
Please enter 'Yes': 3
Please enter 'Yes': l
Please enter 'Yes': lin
Please enter 'Yes': No
Please enter 'Yes': Yes
Another way to terminate an infinite loop is to press CTRL+C.
When writing infinite loops, make sure you use the break statement to exit the loop at some point.
Conclusion
The while loop repeatedly executes its statements as long the given condition evaluates to true.
If you have any questions or feedback, feel free to leave a comment.


