Condicional if con Python

El condicional if en Python es una estructura de control fundamental en nuestro código. Nos va a servir para cambiar el flujo de ejecución en nuestro programa.

La traducción de if es la conjunción condicional si.
Si no vas a venir, llámame.

Mediante la estructura if evaluaremos expresiones lógicas y, según el resultado de esta evaluación (True o False), ejecutaremos unos bloques de código u otros. Haciendo un paralelismo con un vehículo que va por una carretera, la estructura if en Python estaría desempeñando las funciones de una señal de desvío: seguiremos conduciendo por la carretera que hayamos evaluado como True.

if condición:
    código a ejecutar

Estructura condicional if en Python

Un ejemplo sencillo de la estructura if es el siguiente:

Tenemos una variable llamada numero a la que le asignamos el valor de 5. Por otro lado tenemos la estructura if, y para que se ejecute el código print() necesitamos evaluar su condición y que se cumpla, es decir, evaluar que numero sea menor o igual que 10.

¿Es 5 menor o igual que 10? Sí, pues se cumple la condición y entra a ejecutar el código e imprime en pantalla el mensaje.

numero = 5
if numero <= 10:
    print('Ejecuto este bloque de código')

# Ejecuto este bloque de código

Si la evaluación diese como resultado False porque el valor de la variable numero fuese mayor que 10, por ejemplo 11, no imprimiría el mensaje y seguiría ejecutando las siguientes instrucciones de código del programa si las hubiese.

Ahora vamos a incluir otra evaluación en la estructura mediante elif. Hay que tener en cuenta que, si tenemos en nuestra estructura más de una evaluación, solo podremos ejecutar el bloque de código de la primera evaluación que se cumpla.

En el ejemplo que vamos a ver, se cumplen las dos evaluaciones que hacemos: numero vale 5 (y es menor o igual que 10) y es mayor que 3. En este caso solo se ejecuta el primer bloque de código y sale de la estructura if.

numero = 5
if numero <= 10:
    print('Ejecuto este bloque de código')
elif numero > 3:
    print('Ejecuto este segundo bloque de código')

# Ejecuto este bloque de código

Una estructura if no puede ejecutar varios bloques de código, solo ejecutará el bloque de la primera evaluación que devuelva un True y se saldrá de la estructura.

Podemos tener tantos elif como necesitemos. En el siguiente ejemplo es el tercer bloque de código el que se ejecuta, ya que es la única condición que devuelve True.

numero = 5
if numero == 10:
    print('Ejecuto este bloque de código')
elif numero < 3:
    print('Ejecuto este segundo bloque de código')
elif numero > 3:
    print('Ejecuto este tercer bloque de código')

# Ejecuto este tercer bloque de código

Si todas las evaluaciones devolviesen False, no se ejecutaría ningún bloque de código.

En este ejemplo todas las evaluaciones van a devolver False, ya que numero vale 5 y no es igual a 10, ni menor que 1, ni menor que 2. Recorre la estructura if, pero no ejecuta ninguno de los bloques de código.

numero = 5
if numero == 10:
    print('Ejecuto este bloque de código')
elif numero < 1:
    print('Ejecuto este segundo bloque de código')
elif numero < 2:
    print('Ejecuto este tercer bloque de código')

# _

¿Qué pasa si queremos ejecutar un bloque de código en el supuesto de que todas las evaluaciones den como resultado False? Para realizar esto, tenemos que agregar a nuestra estructura un else.

numero = 5
if numero == 10:
    print('Ejecuto este bloque de código')
elif numero < 1:
    print('Ejecuto este segundo bloque de código')
elif numero < 2:
    print('Ejecuto este tercer bloque de código')
else:
    print('Todas las evaluaciones han sido False')

# Todas las evaluaciones han sido False

Operador ternario en Python

El operador ternario de Python es una forma de representar la estructura if de forma diferente. No es muy recomendable intentar trabajar con ella si todavía no se tiene claro la estructura normal, pero está muy bien saber que existe, para volver a ella cuando se tenga todo más claro.

Voy a escribir un programa muy sencillo que solicite al usuario introducir un número. Si el número que introduce es el 5, mostrará un mensaje en pantalla; si introduce uno diferente, mostrará otro mensaje.

numero = int(input('Introduce número: '))
if numero == 5:
    print('El número es 5')
else:
    print('El número no es 5')

Veamos ahora este mismo ejemplo haciendo uso del operador ternario, de la función input() en Python para recibir datos por parte del usuario y de int() para transformar esos datos de tipo string en número entero.

En el operador ternario existen tres partes: bloque a ejecutar si la evaluación es True, condición a evaluar y bloque a ejecutar si la evaluación no se cumple.

Podemos introducir el operador ternario dentro de llamada al print() en este ejemplo.

print('El número es 5' if int(input('Introduce número: ')) == 5 else 'El número no es 5')

# Dependiendo del valor que se introduzca mostrará un mensaje o otro.

O dejar el operador ternario fuera.

print('El número es 5') if int(input('Introduce número: ')) == 5 else print('El número no es 5')

# Dependiendo del valor que se introduzca mostrará un mensaje o otro.

La diferencia en líneas de código es muy pequeña.

Dejar un comentario

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