Python for Loop with Range
Summary: in this tutorial, you’ll learn about the Python for
loop and how to use it to execute a code block a fixed number of times.
Introduction to Python for loop statement with the range() function
In programming, you often want to execute a block of code multiple times. To do so, you use a for
loop.
The following illustrates the syntax of a for
loop:
for index in range(n):
statement
Code language: Python (python)
In this syntax, the index
is called a loop counter. And n
is the number of times that the loop will execute the statement
.
The name of the loop counter doesn’t have to be index
, you can use whatever name you want.
The range()
is a built-in function in Python. It’s like the print()
function in the sense that it’s always available in the program.
The range(n)
generates a sequence of n
integers starting at zero. It increases the value by one until it reaches n
.
So the range(n)
generates a sequence of numbers: 0
,1
, 2
, …n-1
. Note that it’s always short of the final number (n
).
The following diagram illustrates the for
loop statement:
The following example shows how to use the for
loop with the range()
function to display 5 numbers from 0 to 4 to the screen:
for index in range(5):
print(index)
Code language: Python (python)
Output:
0
1
2
3
4
Code language: Python (python)
In this example, the for
loop executes the statement print(index)
exactly five times.
If you want to show 5 numbers from 1 to 5 to the screen, you can do something like this:
for index in range(5):
print(index + 1)
Code language: Python (python)
Output:
1
2
3
4
5
Code language: Python (python)
In this example, we increase the index
by one in each iteration and print it out. However, there’s a better way to do it.
Specifying the starting value for the sequence
By default, the range()
function uses zero as the starting number for the sequence.
In addition, the range()
function allows you to specify the starting number like this:
range(start, stop)
Code language: Python (python)
In this syntax, the range()
function increases the start
value by one until it reaches the stop
value.
The following example uses a for
loop to show five numbers, from 1 to 5 to the screen:
for index in range(1, 6):
print(index)
Code language: Python (python)
Output:
1
2
3
4
5
Code language: Python (python)
Specifying the increment for the sequence
By default, the range(start, stop)
increases the start
value by one in each loop iteration.
To increase the start
value by a different number, you use the following form of the range()
function:
range(start, stop, step)
Code language: Python (python)
In this form, you can specify the value that the range()
function should increase.
The following example shows all the odd numbers from 0 to 10:
for index in range(0, 11, 2):
print(index)
Code language: Python (python)
Output:
0
2
4
6
8
10
Code language: Python (python)
Using Python for loop to calculate the sum of a sequence
The following example uses the for loop statement to calculate the sum of numbers from 1 to 100:
sum = 0
for num in range(101):
sum += numprint(sum)
Code language: Python (python)
Output:
5050
Code language: Python (python)
How it works.
- First, the sum is initialized to zero.
- Second, the sum is added with the number from 1 to 100 in each iteration.
- Finally, show the sum to the screen.
By the way, if you’re a mathematician, you can use the simple formula:
n = 100
sum = n * (n+1)/2
print(sum)
Code language: Python (python)
Summary
- Use the
for
loop statement to run a code block a fixed number of times. - Use the
range(start, stop, step)
to customize the loop.