How to Use While Loops in Python
while loop is a looping comparison function available in Python and many other procedural programming languages. We can use them to perform a repetitive task until a condition becomes true.
while loops are often used instead of for loops when we don't know how many loops are needed beforehand.
In this tutorial, we will learn how to use
while loops in Python with practical examples.
The While Loop Syntax
while loop has three main components, an initiator, an expression to evaluate, and indented code that runs inside the loop.
while expression: #do something
Count Using a While Loop
To begin let's create a
while loop that will count from
5 and then finish. Inside the
while loop, we will print
n then add
1 to the value
n on each iteration and finally, print the total.
n = 1 while n < 5: print(n) n += 1 print('total is: ', 5)
1 2 3 4 total is: 5
In the above example, we are setting the variable
1 and then evaluating that
n is less than
5 at the start of the
This is true so the code inside
while runs. Inside the function, we are printing the value of
n and adding
1 to the value of
n before looping back to the start of the
while function and checking if
n is less than
n is not less than
while loop finishes.
Infinite While Loops
The main thing to watch out for when using
while loops is that at some point the
while expression becomes true. If your logic can never be evaluated as true a
while loop will continue to run until your program crashes. The comparison in the example below can never be true as
n starts on
0, is subtracted by
1 inside each
while loop so
n will never be greater than
n = 0 while n < 5: n -= 1 print(n)
# There won't be one becuase the program has crashed.
Break (stop) a While Loop
In light of the potential for infinite loops, we might want to add a “safety net” under certain circumstances. This can be done using a break statement inside some
n = 0 while n < 5: n -= 1 if n == -50: break print(n)
In the example above if
n is equal to
-50 the while loop will finish.
Loop Though a List Index while a Value is Less than
We can use
while to loop through a
list that we know the range of elements it contains but not how many.
Let's say we wanted to count the total of all numbers in a
list ordered from lowest to highest that are less than a certain value. We could use a function like this:
numbers = [2, 4, 6, 8, 10, 12] n = 0 total = 0 while numbers[n] < 8: total += numbers[n] n = n + 1 print(total)
In the example above, we added the elements together that were less than
8 to reach a total of
Multiple Conditions in a while Loop
while loop runs beyond the number of indexes in a
list we could add an extra comparison statement using
numbers = [2, 4, 6, 8, 10, 12] n = 0 total = 0 while n < len(numbers) and numbers[n] < 14: total += numbers[n] n = n + 1 print(total)
You now know how to use
while loops in Python, why you might choose them over
for loops and what to watch out for when using them.