Lección 7 de 45 · Decisiones y bucles

if, elif y else

Haz que el programa elija una ruta según una condición y aprende a seguir esa decisión sin perderte.

Paso a pasoÁrbol de decisionesAvanza a tu ritmo
Índice · Lección 7/45
Una decisión cambia el camino del programa

Ya sabes crear preguntas que dan True o False. Ahora usarás esas respuestas para decidir qué bloque de código debe ejecutarse.

Evidencia de aprendizaje

Recorrer una entrada por un árbol de decisiones y justificar por qué se ejecuta una sola rama.

if: ejecuta algo solo si se cumple una condición

Una única decisión
temperatura = 7

if temperatura < 10:
    print("Hace frío")

print("Programa terminado")

Python evalúa temperatura < 10. Como es True, ejecuta la línea indentada. Después continúa con print("Programa terminado"), que está fuera del if.

La indentación dibuja qué pertenece a cada camino

En Python, los espacios al comienzo de una línea no son decoración. Indican qué instrucciones forman parte de un bloque.

Mira la alineación
saldo = 30

if saldo >= 20:
    print("Compra permitida")
    print("Procesando pago")

print("Gracias")

Los dos primeros print() están dentro del if. print("Gracias") no lo está y se ejecutará tanto si la condición es verdadera como si es falsa.

if / elif / else: elige una sola ruta

Clasificar una temperatura
temperatura = 22

if temperatura < 10:
    print("Frío")
elif temperatura < 25:
    print("Templado")
else:
    print("Calor")

Python prueba las condiciones de arriba abajo. En cuanto encuentra una verdadera, ejecuta ese bloque y no prueba los siguientes de la cadena.

¿Por qué 22 muestra «Templado»?

22 < 10 es falso. Después Python prueba 22 < 25, que es verdadero, ejecuta «Templado» y termina esa decisión.

Lee decisiones con el dedo

Si una cadena te confunde, no intentes verla entera. Elige un valor concreto y recorre las condiciones una por una: «¿esta es verdadera? no → siguiente; ¿esta? sí → entro aquí y paro».

Este método importa más que memorizar sintaxis. Te servirá para diagnosticar casi cualquier decisión corta.

Recorre un árbol de decisiones

puntuación
¿≥ 90?
sí → Excelente
no ↓
¿≥ 60?
sí → Aprobado
no ↓
Aún no

Orden importa: si preguntas primero puntuacion >= 60, una puntuación de 95 entrará allí y nunca llegará a la categoría Excelente.

Completa la cadena de tres categorías. Debe clasificar 95, 70 y 40 en una sola rama cada vez.

Salida esperada
95 Excelente
70 Aprobado
40 Aún no
categorias.py
La salida aparecerá aquí.

Necesito una pista
  • Python toma la primera condición verdadera.
  • La condición más exigente debe comprobarse antes que la más amplia.
Ver una solución razonada
for puntuacion in [95, 70, 40]:
    if puntuacion >= 90:
        categoria = "Excelente"
    elif puntuacion >= 60:
        categoria = "Aprobado"
    else:
        categoria = "Aún no"
    print(puntuacion, categoria)

Cuando una decisión no hace lo que esperas

Comprueba en este orden: 1) qué valor tiene la variable, 2) si la comparación es la correcta, 3) si la línea está dentro del bloque que creías. Este orden evita tocar el código al azar.

  • if prueba una condición.
  • elif prueba otra opción si las anteriores fallaron.
  • else cubre cualquier caso restante y no lleva condición.
Tu señal para avanzar

Si puedes seguir con el dedo qué rama toma una cadena if / elif / else para un valor concreto, estás preparado para repetir acciones.