Criando laços de repetição com o for loop e a função range()
Contents
Criando laços de repetição com o for loop e a função range()#
Neste capítulo, vamos entender como usar o for loop e a função range() e fornecer alguns exemplos de como eles podem ser utilizados na prática.
Introdução ao for loop#
O for loop é uma estrutura de repetição que permite iterar sobre uma sequência de elementos, como uma lista, uma string ou uma tupla. Ele é utilizado para executar um bloco de código várias vezes, baseado em uma condição pré-estabelecida.
numeros = [1, 2, 3, 4, 5]
for n in numeros:
print(n)
A estrutura do for loop é a seguinte:
A palavra-chave
for
é usada para iniciar a estrutura de repetição.Em seguida, é atribuido um nome à variável que irá armazenar os valores de cada iteração. Neste exemplo, chamamos a variável de
n
.Em seguida, vem a palavra-chave
in
, seguida da sequência sobre a qual desejamos iterar, no caso, a listanumeros
.Por fim, temos a indentação que indica o bloco de código que será executado em cada iteração.
Neste exemplo, a saída seria:
1
2
3
4
5
A função range()#
A função range() é muito útil quando precisamos gerar uma sequência de números para usar em um for loop. Ela recebe três parâmetros: start
, stop
e step
.
start
: é o número inicial da sequência (padrão = 0)stop
: é o número final da sequência (não inclusivo, ou seja, não é incluído na sequência)step
: é o passo entre cada número (padrão = 1)
Quando receber apenas um parâmetro, a sequência começa do 0 e vai até o parâmetro fornecido, fazendo o papel do stop
.
for i in range(5): # gera a sequencia 0, 1, 2, 3, 4
print(i)
Quando dois parâmetros são passados, eles representam o start
e stop
.
for i in range(2, 8): # gera a sequencia 2, 3, 4, 5, 6, 7
print(i)
Por último, quando passamos três parâmetros, temos o start
, stop
e o step
.
for i in range(1, 10, 2): # gera a sequencia 1, 3, 5, 7, 9
print(i)
Iterando sobre listas e dicionários#
Além de iterar sobre sequências geradas pela função range(), o for loop também pode ser utilizado para iterar sobre listas e dicionários.
Listas#
Para as listas, basta informar o nome da variável que vai receber cada item da lista, a palavra in
e por último a lista de fato:
numeros = [1, 2, 3, 4, 5]
for n in numeros:
print(n)
Também é possível iterar sobre o índice da lista com a função range.
numeros = [1, 2, 3, 4, 5]
for i in range(len(numeros)):
print(numeros[i])
Esse método pode ser útil quando queremos fazer algo com o índice, ou trabalhar com outros itens da lista ao mesmo tempo:
numeros = [1, 2, 3, 4, 5]
for i in range(len(numeros)):
print(f"Número atual: {numeros[i]}")
# se existir um próximo número
if i+1 < len(numeros):
print(f"Próximo número: {numeros[i+1]}")
else:
print("Este foi o último número!")
Dicionários#
Para os dicionários, se você tentar fazer a mesma coisa que a lista, vai perceber que apenas os valores das chaves serão retornados.
dados_pessoais = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
for dado in dados_pessoais:
print(dado) # Imprime apenas as chaves -> 'nome', 'idade', 'cidade'
Para obter tanto a chave quanto o valor, nós informamos dois nomes de variáveis após o for
, e chamamos o método .items()
do dicionário.
dados_pessoais = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
for chave, valor in dados_pessoais.items():
print(f'{chave}: {valor}')
O método .items()
retorna uma lista de tuplas, onde o índice 0 de cada tupla é a chave, e o índice 1 é o valor.
Recomendo praticar a utilização de for loops com range(), listas e dicionários para fixar melhor os conceitos aprendidos.