CODEZEROINTERACTIVE

Chapter 9 / 15

Parte 6 — `elif`

Condiciones con if, else y elif, validaciones, decisiones de menú y reglas para MiniFinance.

Lesson 748%

7 / 26 lessons in this chapter

Parte 6 — `elif`

1 / 1 in this part

Current chapter

Chapter 9 — Condiciones: enseñar al programa a tomar decisiones

Self-paced

Parte 6 — elif

Más de dos posibilidades

A veces no basta con una decisión de sí o no.

Por ejemplo, el saldo puede ser:

  • Positivo.
  • Cero.
  • Negativo.

Podemos utilizar elif.

python terminal
saldo_actual = 0

if saldo_actual > 0:
    print("Saldo positivo.")
elif saldo_actual == 0:
    print("El saldo es cero.")
else:
    print("Saldo negativo.")

Resultado:

text terminal
El saldo es cero.

¿Qué significa elif?

elif significa aproximadamente:

text terminal
else if

o:

text terminal
de lo contrario, si

La estructura se lee así:

text terminal
Si el saldo es mayor que cero:
    saldo positivo.

De lo contrario, si es igual a cero:
    saldo vacío.

De lo contrario:
    saldo negativo.

Orden de evaluación

Python revisa las condiciones de arriba hacia abajo.

python terminal
if primera_condicion:
    ...
elif segunda_condicion:
    ...
elif tercera_condicion:
    ...
else:
    ...

Cuando encuentra la primera condición verdadera:

  1. Ejecuta ese bloque.
  2. Ignora los demás.
  3. Continúa después de la estructura.

Solo se ejecuta una rama

python terminal
saldo = 1_500

if saldo > 0:
    print("El saldo es positivo.")
elif saldo > 1_000:
    print("El saldo supera 1 000.")

Resultado:

text terminal
El saldo es positivo.

Aunque ambas condiciones son verdaderas, la primera se cumplió antes.

Por eso la segunda nunca fue evaluada.


El orden importa

Si queremos clasificar saldos, debemos colocar primero la condición más específica.

Incorrecto:

python terminal
saldo = 1_500

if saldo > 0:
    print("Saldo positivo.")
elif saldo > 1_000:
    print("Saldo alto.")

La segunda rama nunca se utilizará para valores mayores que 1_000.

Mejor:

python terminal
saldo = 1_500

if saldo > 1_000:
    print("Saldo alto.")
elif saldo > 0:
    print("Saldo positivo.")
else:
    print("Saldo vacío o negativo.")

Resultado:

text terminal
Saldo alto.

Clasificar un porcentaje

python terminal
porcentaje_presupuesto = 85

if porcentaje_presupuesto >= 100:
    print("Presupuesto agotado o superado.")
elif porcentaje_presupuesto >= 80:
    print("Advertencia: presupuesto casi agotado.")
elif porcentaje_presupuesto >= 50:
    print("Has utilizado más de la mitad del presupuesto.")
else:
    print("El presupuesto está bajo control.")

Resultado:

text terminal
Advertencia: presupuesto casi agotado.