Pular para o conteúdo

Como Usar o Range em Reverso de Forma Simples no Python?

[

Python range(): Representação de Intervalos Numéricos

por Geir Arne Hjelle em 10 de janeiro de 2024 básico python


Tabela de Conteúdos

  • Construir Intervalos Numéricos
    • Contar a partir do zero
    • Contar do início até o fim
    • Contar do início até o fim dando passos sobre os números
  • Usar a função range() do Python para criar intervalos específicos
    • Lidar com Intervalos com Números Negativos
    • Trabalhar com um Intervalo Vazio
    • Contar em ordem decrescente com passos negativos
  • Percorrer Intervalos ou Usar uma Alternativa
    • Repetir uma Operação
    • Percorrer diretamente o iterador em vez disso
    • Usar enumerate() para criar índices
    • Usar zip() para iteração paralela
  • Explorar outras características e usos dos intervalos
    • Acessar números individuais de um intervalo
    • Criar subintervalos com fatias
    • Verificar se um número é membro de um intervalo
    • Calcular o número de elementos em um intervalo
    • Inverter um intervalo
    • Criar um intervalo usando parâmetros semelhantes a inteiros
  • Conclusão

Construir Intervalos Numéricos

Em Python, range() é um objeto built-in. Isso significa que você sempre pode chamar range() sem fazer nenhuma preparação. Chamando range() constrói um objeto do tipo intervalo que você pode utilizar. Posteriormente, você verá exemplos práticos de como utilizar objetos de intervalo.

Você pode fornecer para range() um, dois ou três argumentos inteiros. Isso corresponde a três casos de uso diferentes:

  1. Intervalos contando a partir do zero
  2. Intervalos de números consecutivos
  3. Intervalos pulando números

Você aprenderá a usar cada um deles a seguir.

Contar a partir do zero

Quando você chama range() com um argumento, você cria um intervalo que conta a partir do zero até, mas sem incluir, o número fornecido:

Python

>>> range(5)
range(0, 5)

Contar do início até o fim

Se você fornecer dois argumentos para range(), o primeiro será o início do intervalo e o segundo será o fim (sem inclusão):

Python

>>> range(1, 7)
range(1, 7)

Neste caso, você criou um intervalo de 1 a 6.

Contar do início até o fim dando passos sobre os números

Ao fornecer três argumentos para range(), o terceiro argumento determina os “passos” entre os números consecutivos do intervalo:

Python

>>> range(1, 20, 2)
range(1, 20, 2)

Aqui, você criou um intervalo de 1 a 19, pulando de dois em dois números consecutivos.


Usar a função range() do Python para criar intervalos específicos

Em muitos casos, a função range() do Python é útil quando você precisa trabalhar com intervalos de números. Nesta seção, você aprenderá como usar a função range() para criar intervalos específicos e explorar algumas características adicionais.

Lidar com Intervalos com Números Negativos

A função range() do Python também permite trabalhar com intervalos que incluem números negativos. Para isso, basta fornecer um número negativo como argumento. Vamos ver alguns exemplos:

Python

>>> list(range(-5, 5))
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
>>> list(range(-10, 10, 2))
[-10, -8, -6, -4, -2, 0, 2, 4, 6, 8]

No primeiro exemplo, criamos um intervalo de -5 a 4. No segundo exemplo, criamos um intervalo de -10 a 9, pulando de dois em dois números consecutivos.

Trabalhar com um Intervalo Vazio

Às vezes, é útil criar um intervalo vazio. Isso pode ocorrer quando você precisa percorrer um loop nenhuma vez ou quando deseja criar um intervalo para posterior inclusão de elementos. Para criar um intervalo vazio, você pode fornecer o mesmo número para os argumentos de início e fim:

Python

>>> list(range(5, 5))
[]

Neste exemplo, criamos um intervalo “vazio” de 5 a 4, o que não gera nenhum elemento.

Contar em ordem decrescente com passos negativos

A função range() também permite contar em ordem decrescente, basta fornecer um passo negativo como argumento. Veja um exemplo:

Python

>>> list(range(5, 0, -1))
[5, 4, 3, 2, 1]

Aqui, criamos um intervalo de 5 a 1, contando em ordem decrescente de um em um.


Percorrer Intervalos ou Usar uma Alternativa

Ao trabalhar com intervalos em Python, você pode usar uma estrutura de loop para percorrer cada elemento individualmente. No entanto, existem alternativas que você pode considerar. Nesta seção, você aprenderá como percorrer um intervalo usando um loop for, bem como outras abordagens alternativas.

Repetir uma Operação

Uma forma comum de utilizar um intervalo é repetir uma determinada operação um número específico de vezes. Para isso, você pode usar um loop for juntamente com um intervalo. Veja um exemplo:

Python

for i in range(5):
print("Hello, world!")

Neste exemplo, a frase “Hello, world!” será impressa no console cinco vezes. A variável i assume o valor de cada elemento do intervalo em cada iteração do loop.

Percorrer diretamente o iterador em vez disso

Uma alternativa ao uso de um loop for em conjunto com um intervalo é percorrer diretamente o próprio iterador retornado pela função range(). Isso pode ser especialmente útil em situações em que você não precisa dos valores individuais do intervalo. Veja um exemplo:

Python

range_obj = range(10)
for _ in range_obj:
print("Hello, world!")

Neste exemplo, a frase “Hello, world!” será impressa no console dez vezes. Observe que não utilizamos o valor retornado pelo iterador do intervalo.

Usar enumerate() para criar índices

Outra alternativa é utilizar a função enumerate() em conjunto com um intervalo para criar índices para os elementos. Veja um exemplo:

Python

for i, value in enumerate(range(5, 10)):
print(f"Index: {i}, Value: {value}")

Neste exemplo, o índice e o valor de cada elemento do intervalo são impressos no console.

Usar zip() para iteração paralela

Se você tiver dois ou mais iteráveis, incluindo intervalos, você pode usar a função zip() para iterar sobre eles simultaneamente. Veja um exemplo:

Python

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"Name: {name}, Age: {age}")

Neste exemplo, os nomes e idades correspondentes são impressos no console.


Explorar outras características e usos dos intervalos

Os intervalos em Python possuem várias características adicionais que podem ser úteis em diferentes situações. Nesta seção, você aprenderá como acessar números individuais, criar subintervalos, verificar se um número é membro de um intervalo, calcular o número de elementos em um intervalo e até mesmo inverter um intervalo.

Acessar números individuais de um intervalo

Para acessar números individuais de um intervalo, você pode convertê-lo em uma lista ou usar a indexação. Veja os seguintes exemplos:

Python

range_obj = range(5, 10)
print(range_obj[0]) # 5
print(range_obj[-1]) # 9

No primeiro exemplo, a indexação [0] é usada para acessar o primeiro elemento do intervalo. No segundo exemplo, a indexação [-1] é usada para acessar o último elemento.

Criar subintervalos com fatias

Você também pode criar subintervalos utilizando fatias (slices) de um intervalo existente. Veja um exemplo:

Python

range_obj = range(10)
subrange = range_obj[3:7] # Cria um subintervalo de 3 a 6
for element in subrange:
print(element)

Neste exemplo, criamos um subintervalo de 3 a 6 usando a fatia [3:7]. Em seguida, percorremos e imprimimos cada elemento do subintervalo.

Verificar se um número é membro de um intervalo

Você pode verificar se um número é membro de um intervalo utilizando o operador in. Veja um exemplo:

Python

range_obj = range(5, 10)
print(7 in range_obj) # True
print(10 in range_obj) # False

Neste exemplo, verificamos se os números 7 e 10 são membros do intervalo. Como 7 está no intervalo, o resultado é True, enquanto 10 não está no intervalo, então o resultado é False.

Calcular o número de elementos em um intervalo

Você pode calcular o número de elementos em um intervalo utilizando a função len(). Veja um exemplo:

Python

range_obj = range(10)
print(len(range_obj)) # 10

Neste exemplo, utilizamos len() para obter o número de elementos do intervalo, que é 10.

Inverter um intervalo

Você também pode inverter um intervalo utilizando a função reversed(). No entanto, isso retorna um objeto do tipo reversed, então você precisa convertê-lo em uma lista ou outra estrutura de dados. Veja um exemplo:

Python

range_obj = range(5, 10)
reversed_range = list(reversed(range_obj))
for element in reversed_range:
print(element)

Neste exemplo, criamos uma lista reversa com os elementos do intervalo. Em seguida, percorremos e imprimimos cada elemento da lista.

Criar um intervalo usando parâmetros semelhantes a inteiros

Além dos argumentos inteiros usuais ao criar um intervalo, você também pode criar um intervalo utilizando números de ponto flutuante ou objetos inteiros personalizados. Veja um exemplo:

Python

range_obj = range(0, 10, 2)
print(list(range_obj)) # [0, 2, 4, 6, 8]

Neste exemplo, criamos um intervalo que conta de 0 a 8, pulando de dois em dois números consecutivos.


Conclusão

Neste tutorial, você aprendeu a utilizar a função range() do Python para representar intervalos numéricos. Você viu como construir intervalos numéricos, criar intervalos específicos, percorrer intervalos e explorar outras características dos intervalos. Além disso, você também conheceu algumas alternativas ao uso da função range() em certas situações. Agora, você tem um bom conhecimento sobre como trabalhar com intervalos numéricos em Python e pode aplicar esse conhecimento em seus projetos.