La combinación entre los operadores condicionales y la sentencia condicional if resulta fundamental para dar a nuestro código la capacidad de elección.
Hemos visto como el flujo de ejecución de cualquier programa suele ir desde su primera línea hasta la última. De esta forma, la ejecución del código realiza todas las tareas encomendadas, y esto es así mientras no se llega al final y el programa se detiene.
Sin embargo, en algunas ocasiones, puede ocurrir que no nos interese que se ejecute una porción del código (compuesta por una línea o por un conjunto de ellas), a no ser que se cumpla una determinada condición. Esto ocurre cuando deseamos que la ejecución ignore una parte de nuestro programa si se dan determinadas circunstancias
En casos como los descritos, resulta muy útil el uso de expresiones condicionales y de la sentencia if.
Las expresiones condicionales
En Python, una expresión condicional estará formada por dos datos, o más, separados por operadores condicionales.
Estos datos podrán ser de cualquiera de los tipos tratados (cadenas de caracteres, enteros, decimales, booleanos, etc.) y se escribirán de forma literal o representados por las variables que los almacenan.
En cuanto a los operadores condicionales, la siguiente tabla recoge su listado:
Tabla de operadores condicionales
Operador | Significado |
---|---|
== | Igual que... |
< | Menor que... |
> | Mayor que... |
<= | Menor o igual que... |
>= | Mayor o igual que... |
!= | Distinto que... |
Cuando evaluamos una expresión condicional obtendremos dos posibles resultados: que es cierta (por lo que generará el valor booleano True
), o que es falsa (generará el valor booleano False
).
Los siguientes tres ejemplos nos ayudarán a entender mejor lo dicho:
18 < 20
La expresión anterior es cierta, porque 18 es menor que 20; por lo que esa condición, al cumplirse, genera el valor booleano True
.
nombre1 = "Juan"
nombre2 = "Pedro"
nombre1 == nombre2
En este caso, la expresión no es cierta, porque «Juan» no es igual que «Pedro» (ambas cadenas son distintas); por lo que la condición devolverá el valor booleano False
.
edad = 20
edad > 18
En este último ejemplo, la expresión es cierta, porque 20 es mayor que 18; así que la expresión condicional devolverá el valor booleano True
.
Aviso importante: No debemos confundir el operador de asignación =
con el operador condicional ==
. El primero nos ayuda a asignarle un valor a una variable, mientras que el segundo nos permite comparar si dos datos son iguales.
La sentencia if
La sentencia if (cuya traducción sería «si») resulta ideal cuando queremos conseguir que una porción del código de nuestro programa no se ejecute si se cumple una determinada condición.
El enunciado de esta condición se colocará a continuación de la sentencia if y tendrá la forma de una expresión del estilo de las analizadas en el apartado anterior. Conviene aclarar que la línea de código concluirá con el signo dos puntos, que nos indicará que la línea o líneas siguientes, todas ellas con una sangría, reúnen las instrucciones a ejecutar si la condición se cumple.
Pero veamos cómo queda esquematizado lo dicho:
if condición:
Bloque de código a ejecutar si la condición se cumple
Un ejercicio de demostración
Ahora, como ejemplo, plantémonos un código que nos pedirá que introduzcamos por teclado nuestra edad. Después, analiza la entrada: si ésta es menor que 18, la ejecución del programa imprimirá «Eres menor de edad»; si es igual o mayor que 18, imprimirá «Eres mayor de edad».
El código podría ser el siguiente:

Un error muy común suele darse cuando intentamos desarrollar el código anterior de la siguiente manera:

El código anterior nos pedirá que introduzcamos nuestra edad por teclado. Tras pulsar ENTER, el dato introducido se convertirá en un entero (gracias a la función int()) y se almacenará en la variable edad. Después se evalúa si el contenido de esa variable es menor que 18. Si es así, se imprimirá «Eres menor de edad».
Pero ¿qué sucede con la última línea de código?
Pues, ni más ni menos, se ejecutará siempre: da igual qué valor sea el almacenado en la variable edad. Esta última línea de código no está sometida a ninguna condición (observa que no está afectada por ninguna sangría); por lo que, cuando el usuario introduzca una edad menor que 18, se imprimirán ambas frases; y cuando la edad sea igual o mayor que 18, sólo se imprimirá la cadena «Eres mayor de edad».
Ejercicios prácticos
Ejercicio 1:
Crea un programa que nos pida que introduzcamos por teclado una determinada calificación escolar. Después, evaluando cuál es esa calificación, deberá imprimir las siguientes frases según sean las siguientes notas:
- Si es menor que 5, imprimirá «Estás suspendido».
- Si es 5, imprimirá «Estás aprobado».
- Si es igual o mayor que 6, imprimirá «Has sacado muy buena nota».
Ejercicio 2:
Deberás crear un programa que pida por teclado el nombre y la edad de dos usuarios. Después, nos indicará quién de los dos usuarios es mayor (la cadena a imprimir por consola será del estilo: «Fulanito es mayor que menganito»).
Ejercicio 3:
Se introducirá por teclado el precio de un determinado producto que hemos comprado en tres comercios distintos. Después, imprimiremos por consola qué producto nos salió más caro y cuál nos salió más barato.
Las soluciones a estos tres ejercicios las podrás encontrar en el menú Ejercicios resueltos.