🔀 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:

puntos = 10 # guardamos un valor

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:

if puntos > 5:
  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?

puntos = 3

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:

puntos = 5

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

if puntos = 5:

❌ 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
puntos = 10 # valor de prueba

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.