**Summary**: in this tutorial, you’ll learn about the Python `for`

loop and how to use it to execute a code block for 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
```

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 you want.

The `range()`

is a built-in function in Python. It’s like the `print()`

function in the sense that it’s provided by default.

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 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)
```

Output:

```
0
1
2
3
4
```

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)
```

Output:

```
1
2
3
4
5
```

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, range() function uses zero as the starting number of the sequence.

In addition, the range() function allows you to specify the starting number like this:

`range(start, stop)`

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 5 numbers, from 1 to 5 to the screen:

```
for index in range(1, 6):
print(index)
```

Output:

```
1
2
3
4
5
```

### 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)`

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)
```

Output:

```
0
2
4
6
8
10
```

## 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 += num
print(sum)
```

Output:

`5050`

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)
```

## 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.