Resumo: neste tutorial, você aprenderá sobre o loop for
do Python e como usá-lo para executar um bloco de código um número fixo de vezes.
Introdução ao loop for do Python com a função range()
Na programação, muitas vezes você deseja executar um bloco de código várias vezes. Para fazer isso, você usa um loop for
.
O seguinte ilustra a sintaxe de um loop for
:
for index in range(n):
statement
Nesta sintaxe, index
é chamado de contador de loop. E n
é o número de vezes que o loop executará a instrução
.
O nome do contador de loop não precisa ser index
, você pode usar o nome que quiser.
range()
é uma função interna em Python. É como a função print()
no sentido de que está sempre disponível no programa.
range(n)
gera uma sequência de n
inteiros começando em zero. Ele aumenta o valor em um até atingir n
.
Então o range(n)
gera uma sequência de números: 0
, 1
, 2
, … n-1
. Note que está sempre aquém do número final (n
).
O diagrama a seguir ilustra a instrução de loop for
:
O exemplo a seguir mostra como usar o loop for
com a função range()
para exibir 5 números de 0 a 4 na tela:
for index in range(5):
print(index)
Saída:
0
1
2
3
4
Neste exemplo, o loop for
executa a instrução print(index)
exatamente cinco vezes.
Se você quiser mostrar 5 números de 1 a 5 na tela, pode fazer algo assim:
for index in range(5):
print(index + 1)
Saída:
1
2
3
4
5
Neste exemplo, aumentamos o index
em um em cada iteração e o imprimimos. No entanto, há uma maneira melhor de fazer isso.
Especificando o valor inicial para a sequência
Por padrão, a função range()
usa zero como número inicial da sequência.
Além disso, a função range()
permite especificar o número inicial da seguinte forma:
range(start, stop)
Nessa sintaxe, a função range()
aumenta o valor start
em um até atingir o valor stop
.
O exemplo a seguir usa um loop for
para mostrar cinco números, de 1 a 5, na tela:
for index in range(1, 6):
print(index)
Saída:
1
2
3
4
5
Especificando o incremento para a sequência
Por padrão, o range(start, stop)
aumenta o valor start
em um em cada iteração do loop.
Para aumentar o valor start
por um número diferente, você usa a seguinte forma da função range()
:
range(start, stop, step)
Neste formulário, você pode especificar o valor que a função range()
deve aumentar.
O exemplo a seguir mostra todos os números ímpares de 0 a 10:
for index in range(0, 11, 2):
print(index)
Saída:
0
2
4
6
8
10
Usando o loop for do Python para calcular a soma de uma sequência
O exemplo a seguir usa a instrução de loop for para calcular a soma dos números de 1 a 100:
sum = 0
for num in range(101):
sum += num
print(sum)
Saída:
5050
Como funciona.
- Primeiro, a soma é inicializada com zero.
- Em segundo lugar, a soma é adicionada com o número de 1 a 100 em cada iteração.
- Por fim, mostre a soma na tela.
A propósito, se você for um matemático, pode usar a fórmula simples:
n = 100
sum = n * (n+1)/2
print(sum)
Resumo
- Use a instrução loop
for
para executar um bloco de código um número fixo de vezes. - Use o
range(start, stop, step)
para personalizar o loop.