Loops com range no Python

Cansado de programar?

Cansado(a) de quebrar a cabeça para aprender a programar Python de verdade?

Conheça a melhor e mais completa formação de Python e Django e sinta-se um programador verdadeiramente competente. Além de Python e Django, você também vai aprender Banco de Dados, SQL, HTML, CSS, Javascript, Bootstrap e muito mais!

Quero aprender Python e Django de Verdade! Quero aprender!
Suporte

Tire suas dúvidas diretamente com o professor

Suporte

Projetos práticos voltados para o mercado de trabalho

Suporte

Formação moderna com foco na prática profissional

Download do Artigo

Atualizado para Python 3.13 (Dezembro 2025)
range() para loops numéricos eficientes.

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]

Está curtindo esse conteúdo? :thumbsup:

Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?

Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

Assine as PyDicas e receba 30 dias do melhor conteúdo Python na sua Caixa de Entrada: direto e sem enrolação!

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!

:bulb: Estou desenvolvendo o DevBook, uma plataforma que usa IA para gerar ebooks técnicos profissionais. Te convido a conhecer!

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:

Começe agora sua Jornada na Programação!

Não deixe para amanhã o sucesso que você pode começar a construir hoje!

#newsletter Olá :wave: Curtiu o artigo? Então faça parte da nossa Newsletter! Privacidade Não se preocupe, respeitamos sua privacidade. Você pode se descadastrar a qualquer momento.