Loops com range no Python

Curso de Python

Olá, olá Pythonista!

Vamos tratar de um assunto muito importante nesse post: como construir loops utilizando a função range do Python!

Ainda não está familiarizado com for, while e loops do Python?

Então já acessa nosso post completo sobre Estruturas de Repetição no Python clicando aqui!

Depois, vamos nessa!

Vá Direto ao Assunto…

A função range()

Essa função é de grande ajuda quando o tema é repetição, laços, for etc.

Ela permite especificar o inicio de uma sequência, o passo (ou pulo) e valor final.

Com isso, o Python nos retorna uma sequência de números para que possamos iterar!

Sua sintaxe pode ter as seguintes três formas, sendo que seu único parâmetro obrigatório é o fim:

1
2
3
range(fim)                  # range(stop) 
range(inicio, fim)          # range(start, stop)
range(inicio, fim, passo)   # range(start, stop, step)

É importante ressaltar que na versão 3.x do Python, a função range() retorna um objeto iterável e não mais uma lista com elementos, por essa razão devemos converter o retorno para listas com a função list().

Veja alguns exemplos de como criar listas com range:

1
2
3
4
5
6
7
8
# Gerar lista com (fim)
print(list(range(5)))

# Gerar com (inicio, fim)
print(list(range(5, 10)))

# Gerar com (inicio, fim, passo)
print(list(range(0, 10, 2)))

Resultando do código acima:

1
2
3
[0, 1, 2, 3, 4]
[5, 6, 7, 8, 9]
[0, 2, 4, 6, 8]

E aí Pythonista, tá curtindo esse conteúdo?! Que tal ser avisado EM PRIMEIRA MÃO quando novos conteúdo forem postado por aqui? Aproveita e cadastra seu melhor email aqui! :point_down:

Utilizando range

Sabendo que a estrutura de repetição for executa um ciclo para cada elemento de um iterável, e a função range é um iterável, podemos criar uma harmonia perfeita entre esses dois:

1
2
for num in range(4):
    print(num)

O código acima irá imprimir a sequência de 4 itens especificado no range:

1
2
3
4
0
1
2
3

O range não se aplica diretamente ao while, porém um exemplo um pouco mais complexo pode demonstrar eles juntos:

1
2
3
4
5
6
7
8
9
lista = list(range(6))
comprimento = 6

while len(lista) == comprimento:
    print(lista)
    lista.append('item')
else:
    print(f'O comprimento da Lista é {len(lista)} e ultrapassou {comprimento}!')
    print(lista)

Saída:

1
2
3
[0, 1, 2, 3, 4, 5]
O comprimento da Lista é 7 e ultrapassou 6!
[0, 1, 2, 3, 4, 5, 'item']

Explicando: basicamente ele verifica se o tamanho da lista é igual a 6 itens. Após a primeira verificação ele adiciona mais um item (item), assim modificando seu comprimento e encerrando o laço!

Conclusão

Nesse post vimos uma função muito importante para geração de sequência de números em Python: a famosa range()!

Aprendê-los bem é básico para todos desenvolvedor Python.

Se ficou com alguma dúvida, fique à vontade para deixar um comentário no box aqui embaixo! Será um prazer te responder! :wink:

Se gostou desse conteúdo, que tal fazer um CURSO COMPLETO de Python com Certificado Profissional, suporte individual e personalizado e 7 dias de garantia? :point_down:

Curso de Python

Gostou do conteúdo? Compartilha aí!