Función de range() de Python

La función range() de Python devuelve la secuencia del número dado entre el rango dado.

range() es una función integrada de Python. Se utiliza cuando un usuario necesita realizar una acción un número determinado de veces. range() en Python(3.x) es solo una versión renombrada de una función llamada xrange en Python(2.x). La función range() se utiliza para generar una secuencia de números. 

La función Python range() para bucle se usa comúnmente, por lo tanto, el conocimiento de la misma es el aspecto clave cuando se trata de cualquier tipo de código Python. El uso más común de la función range() en Python es iterar el tipo de secuencia ( Python range() List , string, etc.) con bucles for y while. 

Sintaxis de rango de Python

rango (detener)

rango (inicio, parada, paso)

Rango de Python() Conceptos básicos 

En términos simples, range() permite al usuario generar una serie de números dentro de un rango determinado. Dependiendo de cuántos argumentos pase el usuario a la función, el usuario puede decidir dónde comenzará y terminará esa serie de números, así como qué tan grande será la diferencia entre un número y el siguiente. range() toma principalmente tres argumentos.

  • start : entero a partir del cual se devolverá la secuencia de enteros
  • stop: entero antes del cual se devolverá la secuencia de enteros. El rango de enteros termina en la parada – 1.
  • paso: valor entero que determina el incremento entre cada entero en la secuencia

Ejemplo de métodos range() de Python

Ejemplo 1: Demostración de Python range()

Python3

# Python Program to
# show range() basics
 
# printing a number
for i in range(10):
    print(i, end=" ")
print()
 
# using range for iteration
l = [10, 20, 30, 40]
for i in range(len(l)):
    print(l[i], end=" ")
print()
 
# performing sum of natural
# number
sum = 0
for i in range(1, 11):
    sum = sum + i
print("Sum of first 10 natural number :", sum)

Producción : 

0 1 2 3 4 5 6 7 8 9 
10 20 30 40 
Sum of first 10 natural number : 55

Hay tres formas de llamar a range() : 

  • range(stop) toma un argumento.
  • range(start, stop) toma dos argumentos.
  • range(start, stop, step) toma tres argumentos.

rango (detener)

Cuando el usuario llama a range() con un argumento, el usuario obtendrá una serie de números que comienza en 0 e incluye todos los números enteros hasta el número que el usuario ha proporcionado como punto final, pero sin incluirlo. Por ejemplo –

Ejemplo 2:  demostración del rango de Python (parada)

Python3

# Python program to
# print whole number
# using range()
 
# printing first 10
# whole number
for i in range(10):
    print(i, end=" ")
print()
 
# printing first 20
# whole number
for i in range(20):
    print(i, end=" ")

Producción: 

0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

rango (inicio, parada)

Cuando el usuario llama a range() con dos argumentos, el usuario puede decidir no solo dónde termina la serie de números sino también dónde comienza, por lo que el usuario no tiene que comenzar en 0 todo el tiempo. El usuario puede usar range() para generar una serie de números de X a Y usando un rango (X, Y). Por ejemplo -argumentos 

Ejemplo 3: demostración del rango de Python (inicio, parada)

Python3

# Python program to
# print natural number
# using range
 
# printing a natural
# number upto 20
for i in range(1, 20):
    print(i, end=" ")
print()
 
# printing a natural
# number from 5 t0 20
for i in range(5, 20):
    print(i, end=" ")

Producción: 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

rango (inicio, parada, paso)

Cuando el usuario llama a range() con tres argumentos, el usuario puede elegir no solo dónde comenzará y terminará la serie de números, sino también qué tan grande será la diferencia entre un número y el siguiente. Si el usuario no proporciona un paso, range() se comportará automáticamente como si el paso fuera 1. 

Ejemplo 4:  demostración del rango de Python (inicio, parada, paso)

Python3

# Python program to
# print all number
# divisible by 3 and 5
 
# using range to print number
# divisible by 3
for i in range(0, 30, 3):
    print(i, end=" ")
print()
 
# using range to print number
# divisible by 5
for i in range(0, 50, 5):
    print(i, end=" ")

Producción : 

0 3 6 9 12 15 18 21 24 27 
0 5 10 15 20 25 30 35 40 45 

En este ejemplo, estamos imprimiendo un número par entre 0 y 10, por lo que elegimos nuestro punto de partida desde 0 (inicio = 0) y detenemos la serie en 10 (parada = 10). Para imprimir un número par, la diferencia entre un número y el siguiente debe ser 2 (paso = 2) después de proporcionar un paso, obtenemos la siguiente salida (0, 2, 4, 8). 

Ejemplo 5: Incrementando con el rango usando un paso positivo 

Si un usuario quiere incrementar, entonces el usuario necesita que los pasos sean un número positivo. Por ejemplo: 

Python3

# Python program to
# increment with
# range()
 
# incremented by 2
for i in range(2, 25, 2):
    print(i, end=" ")
print()
 
# incremented by 4
for i in range(0, 30, 4):
    print(i, end=" ")
print()
 
# incremented by 3
for i in range(15, 25, 3):
    print(i, end=" ")

Producción : 

2 4 6 8 10 12 14 16 18 20 22 24 
0 4 8 12 16 20 24 28 
15 18 21 24 

Ejemplo 6: Python range() al revés

Si un usuario quiere disminuir, entonces el usuario necesita que los pasos sean un número negativo. Por ejemplo: 

Python3

# Python program to
# decrement with
# range()
 
# incremented by -2
for i in range(25, 2, -2):
    print(i, end=" ")
print()
 
# incremented by -4
for i in range(30, 1, -4):
    print(i, end=" ")
print()
 
# incremented by -3
for i in range(25, -6, -3):
    print(i, end=" ")

Producción : 

25 23 21 19 17 15 13 11 9 7 5 3 
30 26 22 18 14 10 6 2 
25 22 19 16 13 10 7 4 1 -2 -5 

Ejemplo 7: Python range() float

La función range() de Python no admite los números flotantes. es decir, el usuario no puede usar un número de punto flotante o no entero en ninguno de sus argumentos. Los usuarios solo pueden usar números enteros. Por ejemplo 

Python3

# Python program to
# show using float
# number in range()
 
# using a float number
for i in range(3.3):
    print(i)
 
# using a float number
for i in range(5.5):
    print(i)

Producción : 

for i in range(3.3):
TypeError: 'float' object cannot be interpreted as an integer

Ejemplo 8: Concatenación de dos funciones range()

El resultado de dos funciones range() se puede concatenar usando el método chain() del módulo itertools . El método chain() se usa para imprimir todos los valores en objetivos iterables uno tras otro mencionados en sus argumentos.

Python3

# Python program to concatenate
# the result of two range functions
from itertools import chain
 
# Using chain method
print("Concatenating the result")
res = chain(range(5), range(10, 20, 2))
 
for i in res:
    print(i, end=" ")

Producción: 

Concatenating the result
0 1 2 3 4 10 12 14 16 18 

Ejemplo 9: Acceso a range() con valor de índice

La función range() devuelve una secuencia de números como su objeto al que se puede acceder mediante su valor de índice. Tanto la indexación positiva como la negativa son compatibles con su objeto.

Python3

# Python program to demonstrate
# range function
 
ele = range(10)[0]
print("First element:", ele)
 
ele = range(10)[-1]
print("\nLast element:", ele)
 
ele = range(10)[4]
print("\nFifth element:", ele)

Producción: 

First element: 0

Last element: 9

Fifth element: 4

Puntos para recordar sobre la función range() de Python: 

  • La función range() solo funciona con números enteros, es decir, números enteros.
  • Todos los argumentos deben ser números enteros. Los usuarios no pueden pasar una string o un número flotante o cualquier otro tipo en un argumento de inicio , parada y paso de un range().
  • Los tres argumentos pueden ser positivos o negativos.
  • El valor del paso no debe ser cero. Si un paso es cero, Python genera una excepción ValueError.
  • range() es un tipo en Python
  • Los usuarios pueden acceder a elementos en un range() por índice, tal como lo hacen los usuarios con una lista:

Publicación traducida automáticamente

Artículo escrito por ABHISHEK TIWARI 13 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *