🔁 Bucles for y la función range()

💡 Repetir tareas automáticamente

A veces necesitamos ejecutar una misma tarea varias veces.
Por ejemplo, reenviar un mensaje si falla el primer intento 📩

En lugar de copiar el mismo código tres veces,
podemos usar un bucle for.

⚙️ Ejemplo inicial

for numero in range(3):
    print("Intento")

⬇️ Salida:

Intento
Intento
Intento

Cada vez que el bucle se ejecuta, imprime el mismo mensaje. Esto es mucho más limpio que repetir código manualmente.

🔢 ¿Qué hace la función range()?

range(3) genera una secuencia de números: 0, 1, 2. Veamos qué pasa si usamos esa variable dentro del bucle 👇

for numero in range(3):
    print("Intento", numero)

⬇️ Salida:

Intento 0
Intento 1
Intento 2

💬 En cada iteración, numero toma un valor diferente del rango.

🧮 Haciendo el conteo más natural

Podemos sumar 1 para que los intentos empiecen desde 1.

for numero in range(3):
    print("Intento", numero + 1)

⬇️ Salida:

Intento 1
Intento 2
Intento 3

✅ Ahora el conteo se ve más intuitivo para el usuario.

🎨 Experimentando con expresiones

También podemos usar expresiones más complejas dentro del bucle. Por ejemplo, repetir un punto "." tantas veces como el número de intento:

for numero in range(3):
    print("Intento", numero + 1, "." * (numero + 1))

⬇️ Salida:

Intento 1 .
Intento 2 ..
Intento 3 ...

💬 La multiplicación de cadenas ("string" * n) repite el texto tantas veces como indique n.

🧭 Rango personalizado

Podemos controlar desde dónde empieza y termina el rango:

for numero in range(1, 4):
    print("Intento", numero)

⬇️ Salida:

Intento 1
Intento 2
Intento 3

🎯 Aquí range(1, 4) genera 1, 2, 3 (el límite superior no se incluye).

🧩 Paso personalizado

range() también acepta un tercer argumento: el tamaño del paso.

for numero in range(1, 10, 2):
    print("Número:", numero)

⬇️ Salida:

Número: 1
Número: 3
Número: 5
Número: 7
Número: 9

💡 En cada iteración, el número aumenta de 2 en 2.

🧠 En resumen

Estructura Descripción
range(n) Genera los números 0 a n-1
range(a, b) Desde a hasta b-1
range(a, b, s) Desde a hasta b-1 con paso s
for x in range(...) Repite el bloque para cada valor de x

🌟 Cierre

Los bucles for te permiten repetir tareas fácilmente y escribir código limpio y expresivo. Usa range() para controlar cuántas veces se repite tu bloque, y experimenta con diferentes intervalos y pasos 🧮✨