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.
saldo_actual = 0
if saldo_actual > 0:
print("Saldo positivo.")
elif saldo_actual == 0:
print("El saldo es cero.")
else:
print("Saldo negativo.")Resultado:
El saldo es cero.¿Qué significa elif?
elif significa aproximadamente:
else ifo:
de lo contrario, siLa estructura se lee así:
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.
if primera_condicion:
...
elif segunda_condicion:
...
elif tercera_condicion:
...
else:
...Cuando encuentra la primera condición verdadera:
- Ejecuta ese bloque.
- Ignora los demás.
- Continúa después de la estructura.
Solo se ejecuta una rama
saldo = 1_500
if saldo > 0:
print("El saldo es positivo.")
elif saldo > 1_000:
print("El saldo supera 1 000.")Resultado:
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:
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:
saldo = 1_500
if saldo > 1_000:
print("Saldo alto.")
elif saldo > 0:
print("Saldo positivo.")
else:
print("Saldo vacío o negativo.")Resultado:
Saldo alto.Clasificar un porcentaje
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:
Advertencia: presupuesto casi agotado.