Objetivo: mostrar cómo ampliar con elif la estructura if … else en Python para la toma de decisiones múltiples.
En la última sesión de Python aprendimos cómo tratar una dicotomía: si una condición se cumple haz esto; en caso contrario, haz esto otro.
Pero, ¿y si debemos gestionar diversas opciones?
La claúsula elif dentro de la estructura if nos permite resolver este problema.
Observa su utilización en el siguiente ejemplo:
# coding=latin-1
valor = input('Introduce un número del 1 al 6: ')
if int(valor) == 1:
print('El dado rueda..., ha salido el UNO')
elif int(valor) == 2:
print('La suerte está echada..., ha salido el DOS')
elif int(valor) == 3:
print('El dado nos muestra... un TRES')
elif int(valor) == 4:
print('Increíble pero cierto... ha salido un CUATRO')
elif int(valor) == 5:
print('Si esto fuera el parchís sacarías ficha. Ha salido el CINCO')
elif int(valor) == 6:
print('Enhorabuena, has sacado el valor más alto del dado, el SEIS')
else:
print('Lo siento, el dado no puede devolver ese valor')
El ejemplo es ilustrativo por sí solo: nos solicita la introducción de un número del 1 al 6 y en función del valor que hayamos facilitado realizará una tarea u otra.
Observa el uso de else, al final, para el caso contrario general en el que no se haya cumplido ninguna de las otras condiciones (por haber introducido un valor fuera del rango indicado).
La palabra elif no es más que una forma simplificada de else if y estrictamente no sería necesaria. Cualquier decisión múltiple se reduce, en última instancia, a un conjunto de decisiones binarias. La ventaja de utilizar elif es que nos permite tener el código más claro visualmente, sin las indentaciones que se producirían tras cada decisión binaria.
Javier Montero Gabarró
Fecha de la última revisión: 12 de agosto de 2012
El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)
El Club del Autodidacta
Consulta el índice completo de artículos relacionados con Python.