Chapter 6. Loop with while and for

For a’ that, an’ a’ that, Our toils obscure, an’ a’ that …

Robert Burns, For a’ That and a’ That

Testing with if, elif, and else runs from top to bottom. Sometimes, we need to do something more than once. We need a loop, and Python gives us two choices: while and for.

Repeat with while

The simplest looping mechanism in Python is while. Using the interactive interpreter, try this example, which is a simple loop that prints the numbers from 1 to 5:

>>> count = 1
>>> while count <= 5:
...     print(count)
...     count += 1
...
1
2
3
4
5
>>>

We first assigned the value 1 to count. The while loop compared the value of count to 5 and continued if count was less than or equal to 5. Inside the loop, we printed the value of count and then incremented its value by one with the statement count += 1. Python goes back to the top of the loop, and again compares count with 5. The value of count is now 2, so the contents of the while loop are again executed, and count is incremented to 3.

This continues until count is incremented from 5 to 6 at the bottom of the loop. On the next trip to the top, count <= 5 is now False, and the while loop ends. Python moves on to the next lines.

Cancel with break

If you want to loop until something occurs, but you’re not sure when that might happen, you can use an infinite loop with a break statement. This time, let’s read a line of input from the keyboard via Python’s input() function and then print it with the first letter ...

Get Introducing Python, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.