range()

 ¡Claro! range() es una función built-in de Python muy versátil que genera una secuencia de números. Es especialmente útil con bucles for.


📌 Sintaxis básica:

python
range(stop)             # 0 hasta stop-1
range(start, stop)      # start hasta stop-1  
range(start, stop, step) # start hasta stop-1, con paso step

🔢 1. range(stop)

Genera números desde 0 hasta stop-1.

Ejemplo:

python
for i in range(5):
    print(i)

Output:

text
0
1
2
3
4

🔢 2. range(start, stop)

Genera números desde start hasta stop-1.

Ejemplo:

python
for i in range(2, 6):
    print(i)

Output:

text
2
3
4
5

🔢 3. range(start, stop, step)

Genera números desde start hasta stop-1, incrementando por step.

Ejemplo (step positivo):

python
for i in range(0, 10, 2):
    print(i)

Output:

text
0
2
4
6
8

Ejemplo (step negativo):

python
for i in range(5, 0, -1):
    print(i)

Output:

text
5
4
3
2
1

🎯 Características importantes:

1. No almacena todos los valores en memoria

range() es un iterable perezoso (lazy iterable). Genera los números sobre la marcha, lo que es eficiente en memoria.

python
# Esto no crea una lista de 1,000,000 números en memoria
grande = range(1000000)
print(grande)  # Output: range(0, 1000000)

2. Se puede convertir a lista

python
lista_numeros = list(range(5))
print(lista_numeros)  # Output: [0, 1, 2, 3, 4]

3. Útil para acceder a elementos por índice

python
frutas = ["manzana", "banana", "naranja", "uva"]
for i in range(len(frutas)):
    print(f"Índice {i}: {frutas[i]}")

Output:

text
Índice 0: manzana
Índice 1: banana
Índice 2: naranja
Índice 3: uva

🚀 Ejemplos prácticos:

1. Contar regresivamente

python
for i in range(10, 0, -1):
    print(i)
print("¡Despegue! 🚀")

2. Números pares

python
pares = list(range(0, 11, 2))
print(pares)  # Output: [0, 2, 4, 6, 8, 10]

3. Tabla de multiplicar

python
numero = 5
for i in range(1, 11):
    print(f"{numero} x {i} = {numero * i}")

⚠️ Errores comunes:

1. Olvidar que es exclusivo

python
# Esto imprimirá del 0 al 4, NO incluye el 5
for i in range(5):
    print(i)

2. Step = 0 (error)

python
# Esto causará un error
# range(0, 10, 0)  # ValueError: range() arg 3 must not be zero

3. Step en dirección incorrecta

python
# Si start > stop y step es positivo, no generará números
for i in range(5, 0):  # No generará nada
    print(i)
    
# Para contar hacia atrás, usa step negativo
for i in range(5, 0, -1):
    print(i)  # Esto sí funciona

💡 Tip avanzado:

Puedes usar range() con índices negativos:

python
# Del -5 al -1
for i in range(-5, 0):
    print(i)

Output:

text
-5
-4
-3
-2
-1

range() es una de las funciones más útiles en Python. ¡Domínala y tus bucles for serán mucho más potentes!

Comentarios

Entradas populares de este blog

¿Qué es un Closure?

4 tipos de colecciones de datos más

Calculadora de edad