if, elseif, else en Python

Recientemente se ha abordado el uso del <<bucle for>> en Python. Ahora se va a tratar, otra de las estructuras de control de flujo de código fundamentales en los lenguajes de programación, el condicional IF.

Uso de IF en Python

El condicional IF permite identificar situaciones en las que el computador, debe tomar una decisión por el programador, dependiendo del escenario que encuentra y de las condiciones que han sido establecidas.

El condicional IF devuelve siempre un valor booleano: True o False en Python. Es decir, en el momento en el que evalua una condicion bien a cierta o bien a falsa, lo que devuelve internamente es True o False respectivamente.

Si es True, ejecutará la condición a cierto (True) y continuará con el siguiente elemento, si es False continuará la sencuencia de código dentro del propio condicional hasta resolverla.

Así, si un examen se aprueba a partir de la nota numérica 5 podríamos programar en tan solo dos lineas un pequeño código que defina si un alumno está suspenso o aprobado.

Si se define la nota_numerica como 4 el interprete de Python devolverá ‘Suspenso’, ya que el condicional if será evaluado a True y no llegará a evaluar el ELSE. En caso de que la nota introducida fuera cualquier otra no menor de 5, el interprete a través de else devolvería ‘Aprobado’ al haber evaluado a ‘False’ el primer escenario.

De este modo el profesor ya dispone de un pequeño software que define, si un alumno ha aprobado una asignatura.

Uso de ELIF en Python

El Python además existe ELIF que es el equivalente de otros leneguajes a ELSE IF.

Su uso permite introducir condiciones alternativas si una primera condición no ha sido cumplida. Procedamos con un ejemplo.

A continuación se usará una estructura de control de flujo de código pero esta vez, dentro de un bucle, alineados con el anterior post sobre el bucle FOR en Python -> visita pinchando aquí.

Imaginemos que tenemos la nota numérica de 20 alumnos. Es probable que el profesor demande ahora una estructura de código que le permita sin equivocarse, obtener la nota teórica a partir de la nota_numerica del conjunto de sus alumnos.

Podría programarse del siguiente modo:

Gracias al << bucle for >> podrán evaluarse las condiciones para las notas de todos los alumnos, sin necesidad de hacerlo uno a uno.

Uso de ELSE en Python

El bloque construido tomará las decisiones que demanda el profesor. Si la nota es inferior a 5, el interprete de Python devolverá que es ‘Suspenso’, si no es menor que 5 saltará a evaluar la siguiente condición.

El conjunto del ejercicio se resuelve con la siguiente salida de datos:

Para cada elemento de la lista nota_numerica, el interprete devuelve la nota y si es un ‘Suspenso’, ‘Aprobado’, ‘Notable’ o ‘Sobresaliente’.

Así pues la estructura de control de flujo de código IF-ELIF-ELSE: evalua en primer lugar si un elemento cumple una condición, si la cumple pasa el siguiente elemento de la lista, pero si no la cumple pasa a evaluar ELIF. Si tampoco cumple, buscará una condición que se cumpla hasta ELSE.

Es importante matizar que con el uso de IF y ELIF, Python no hará una evaluación múltiple de los elementos, sino que en el momento que encuentra que se cumple la condición pasará al siguiente elemento de la lista o continuará con la secuencia de código que corresponda. Para Python la prioridad es siempre el tiempo de respuesta.

Autor: ignacio

Profesor de Sistemas de Gestión de Información

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *