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:
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:
for i in range(5):
print(i)Output:
0
1
2
3
4🔢 2. range(start, stop)
Genera números desde start hasta stop-1.
Ejemplo:
for i in range(2, 6):
print(i)Output:
2
3
4
5🔢 3. range(start, stop, step)
Genera números desde start hasta stop-1, incrementando por step.
Ejemplo (step positivo):
for i in range(0, 10, 2):
print(i)Output:
0
2
4
6
8Ejemplo (step negativo):
for i in range(5, 0, -1):
print(i)Output:
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.
# 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
lista_numeros = list(range(5))
print(lista_numeros) # Output: [0, 1, 2, 3, 4]3. Útil para acceder a elementos por índice
frutas = ["manzana", "banana", "naranja", "uva"]
for i in range(len(frutas)):
print(f"Índice {i}: {frutas[i]}")Output:
Índice 0: manzana
Índice 1: banana
Índice 2: naranja
Índice 3: uva🚀 Ejemplos prácticos:
1. Contar regresivamente
for i in range(10, 0, -1):
print(i)
print("¡Despegue! 🚀")2. Números pares
pares = list(range(0, 11, 2))
print(pares) # Output: [0, 2, 4, 6, 8, 10]3. Tabla de multiplicar
numero = 5
for i in range(1, 11):
print(f"{numero} x {i} = {numero * i}")⚠️ Errores comunes:
1. Olvidar que es exclusivo
# Esto imprimirá del 0 al 4, NO incluye el 5
for i in range(5):
print(i)2. Step = 0 (error)
# Esto causará un error
# range(0, 10, 0) # ValueError: range() arg 3 must not be zero3. Step en dirección incorrecta
# 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:
# Del -5 al -1
for i in range(-5, 0):
print(i)Output:
-5
-4
-3
-2
-1range() es una de las funciones más útiles en Python. ¡Domínala y tus bucles for serán mucho más potentes!
Comentarios
Publicar un comentario