🔀 Capítulo 3: Decisiones en Python (if, else, elif)
En el capítulo anterior aprendiste a guardar información con variables.
Ahora vamos a dar un paso clave:
👉 hacer que el programa tome decisiones.
Esto es lo que convierte un programa en algo “inteligente”.
🧠 ¿Qué es una decisión?
En bloques ya usabas algo así:
“si pasa esto… haz esto otro”
En Python se escribe con if.
1. Primera condición (if)
Vamos a empezar con un ejemplo sencillo:
if puntos > 5: # si puntos es mayor que 5
tobi = Sprite('Tobi') # crea el personaje
tobi.say("Tengo más de 5 puntos", 2) # muestra mensaje
¿Qué significa esto?
- if → “si ocurre esto”
- puntos > 5 → condición (pregunta)
- Si es verdad → ejecuta el código
👉 Si no se cumple… no hace nada.
⚠️ Muy importante: la indentación
Fíjate en esto:
tobi.say("Hola", 2)
👉 La línea está desplazada hacia la derecha.
Esto significa: “esto pertenece al if”.
❌ Si no lo haces, Python dará error.
2. Si no se cumple (else)
¿Y si queremos hacer algo cuando NO se cumple?
tobi = Sprite('Tobi')
if puntos > 5: # si es mayor que 5
tobi.say("Muchos puntos", 2)
else: # si no se cumple
tobi.say("Pocos puntos", 2)
👉 else significa “si no”.
3. Varias decisiones (elif)
Podemos comprobar varios casos:
tobi = Sprite('Tobi')
if puntos > 5:
tobi.say("Muchos puntos", 2)
elif puntos == 5: # si es exactamente 5
tobi.say("Justo 5 puntos", 2)
else:
tobi.say("Menos de 5", 2)
¿Qué significa?
- elif → “si no, pero si…”
- == → comparar (igual)
👉 Python prueba las condiciones en orden.
⚠️ Error típico
❌ Esto es un error
👉 = es para guardar
👉 == es para comparar
🧠 Cómo piensa Python
Python hace esto:
- Comprueba la condición
- Si es verdadera → ejecuta
- Si no → prueba la siguiente
👉 Solo ejecuta UNA de las opciones.
🚀 Reto Abutuber: Nivel de puntos
Crea un programa donde:
- Si puntos es mayor que 10 → diga "Nivel alto"
- Si puntos es igual a 10 → diga "Nivel medio"
- Si puntos es menor → diga "Nivel bajo"
Pista: necesitas if, elif y else
Ver solución
tobi = Sprite('Tobi') # crea el personaje
if puntos > 10:
tobi.say("Nivel alto", 2)
elif puntos == 10:
tobi.say("Nivel medio", 2)
else:
tobi.say("Nivel bajo", 2)
💡 Consejo Abutuber: El if es lo que hace que un programa “piense”. Sin decisiones, todo sería automático y sin lógica.