🔁 Capítulo 4: Repetición en Python (for y while)
Hasta ahora has aprendido a:
- Guardar información (variables)
- Tomar decisiones (if)
Pero hay algo que todavía estamos haciendo mal:
👉 repetir código a mano.
Y eso… en programación no es buena idea.
🧠 ¿Por qué repetir automáticamente?
Mira este ejemplo:
tobi.say("Hola", 1)
tobi.say("Hola", 1)
tobi.say("Hola", 1)
tobi.say("Hola", 1)
👉 Funciona… pero es repetitivo y poco práctico.
👉 Para eso usamos bucles.
1. Repetir con for
El bucle for se usa cuando sabes cuántas veces quieres repetir algo.
for i in range(4): # repite 4 veces
tobi.say("Hola", 1) # se ejecuta en cada repetición
¿Qué significa?
- for → repetir
- range(4) → 4 veces
- i → contador (Python lo usa internamente)
👉 Python repite el bloque automáticamente.
⚠️ Muy importante: indentación
tobi.say("Hola", 1)
👉 Todo lo que está desplazado pertenece al bucle.
❌ Si no está bien indentado → error
2. Repetir mientras se cumpla algo (while)
El bucle while se usa cuando NO sabes cuántas veces se repetirá.
👉 Se repite mientras la condición sea verdadera.
tobi = Sprite('Tobi')
while contador < 3: # mientras sea menor que 3
tobi.say("Hola", 1)
contador = contador + 1 # aumenta el contador
¿Qué está pasando?
- Empieza en 0
- Se repite mientras sea menor que 3
- El contador sube cada vez
👉 Cuando llega a 3… se detiene.
⚠️ Error muy importante (bucle infinito)
tobi.say("Hola", 1)
❌ Esto nunca se detiene
👉 Falta actualizar el contador
👉 Resultado: bucle infinito
3. Diferencia clave
- for → sabes cuántas veces
- while → depende de una condición
👉 Ambos son fundamentales.
🧠 Cómo piensa Python
En un bucle, Python hace esto:
- Ejecuta el bloque
- Vuelve a comprobar
- Repite
👉 Hasta que se cumple la condición de salida.
🚀 Reto Abutuber: Contador en acción
Crea un programa donde:
- Tobi diga los números del 1 al 5
Pista: usa una variable contador + while
Ver solución
tobi = Sprite('Tobi')
while contador <= 5:
tobi.say(contador, 1) # dice el número
contador = contador + 1 # suma 1
💡 Consejo Abutuber: Si usas bucles bien, puedes hacer en 3 líneas lo que antes necesitaba 20.