Introducción a la programación en Python 3 — Instrucción if y lógica

René Silva Valdés
2 min readOct 7, 2021

--

Operando con lógica dentro de Python

Hasta ahora hemos visto como programar operaciones aritméticas en nuestro código y como definir funciones que realicen un set de operaciones. Sin embargo, es posible que solo con estos recursos nos veamos limitados para resolver cierto problemas básicos, como realizar comparaciones y/o realizar operaciones en función de cierto valor. Un ejemplo de esto sería programar una función que reciba 2 números como input y retorne el número menor/mayor como output. Si bien haciendo uso de nuestro ingenio podemos concebir algo como:

def mayor(x,y):
return((x + y + abs(x-y))/2)

Suele ser más intuitivo una solución del tipo:

def mayor(x,y):
if x>y:
return(x)
else:
return(y)

Podemos ver que la función anterior hace uso de dos palabras nuevas, if y else .

Instrucción if

La expresión ifpermite ejecutar un bloque de código se se cumple una condición dada, mientras que else ejecuta un bloque de código si no se cumple esta condición. De modo que nuestro ejemplo anterior se podría leer como:

Si x es mayor que y, retornar x. Y sino, retornar y

Y la semántica de esta instrucción es:

if condicion:
instrucciones1
else:
instrucciones2

En dondecondicion está compuesta por dos expresiones (e.g a, b, c, a+b, etc.) y un operador-de-relación (e.g <, >, <=, >=, ==, !=). Una condición evalúa las expresiones, las compara sus resultados y entrega un bool dependiendo si se cumple o no (True o False ). Luego en una expresión if se ejecutará el primer bloque cuya condición retorne True . Cabe mencionar que los bloques dentro de un if deben seguir las reglas de indentación y que haciendo esto podemos agregar instrucciones if en un bloque de código dentro de otra instrucción if. Por ejemplo, si deseamos recibir 3 números como input y retornar el mayor como output:

def mayor(x,y,z):
if x >= y:
if x >= z:
return x
else:
return z
else:
if y >= z :
return y
else:
return z

Esto puede escribirse de una forma más generalizada como una selección múltiple, utilizando la palabra elif :

def mayor(x,y,z):
if x >= y and x >= z :
return x
elif y >= z :
return y
else:
return z

En este ejemplo, podemos ver el uso del operador lógico and , el cual cumple la misma función de su operador en lógica booleana:

  • True and True : Retorna True
  • True and False : Retorna False
  • False and True : Retorna False
  • False and False : Retorna False

Otros operadores lógicos que pueden ir en nuestras condiciones son or o not .

Con lo visto en este capitulo hemos aprendido a programar código con condiciones y a utilizar la lógica booleana dentro de Python. Espero que te haya servido, nos vemos en la próxima entrega.

Un saludo!

--

--