Encadenamiento de operadores de comparación en Python
Las comparaciones son una parte esencial de todos los lenguajes de programación.
En Python, los operadores de comparación se utilizan para comparar valores y devuelven True
o False
según la condición que se esté probando. Estas condiciones incluyen determinar si los valores del lado izquierdo o derecho son iguales, mayores o menores que un cierto valor.
A diferencia de los operadores aritméticos, que tienen precedencia, los operadores de comparación tienen la misma prioridad, que es menor que la de otros operadores como los operadores bit a bit y los operadores aritméticos.
Los operadores de comparación no están restringidos a tipos numéricos, sino que también pueden comparar tipos de secuencias, tipos de conjuntos y valores booleanos.
Por lo general, los operadores de comparación se combinan mediante operadores lógicos para formar declaraciones condicionales. Los operadores de comparación también se pueden usar junto con declaraciones if
y bucles como los bucles for
y while
.
En el siguiente ejemplo, los operadores de comparación se han utilizado con operadores lógicos para formar declaraciones condicionales que prueban la igualdad de dos valores aritméticos.
x = 5
y = 7
z = 10
if y > x and z > y:
print("z is the greatest number")
else:
print("z is not the greatest number")
Producción :
z is the greatest number
Como se muestra en el ejemplo a continuación, podemos encadenar los operadores en lugar de usar simultáneamente los operadores lógicos y los operadores de comparación. Este método es más preciso y fácil de entender.
x = 5
y = 7
z = 10
if x < z > y:
print("z is the greatest number")
else:
print("z is not the greatest number")
Producción :
z is the greatest number
En el ejemplo anterior, hemos encadenado los operadores de comparación para determinar si z
es el número mayor. De manera similar, los operadores de comparación pueden determinar si ciertos números son iguales usando el operador igual a y no igual a.
length = 23
height = 23
width = 6
if length == height and height == width and width == length:
print("This is a cube")
else:
print("This is a cuboid")
Producción :
This is a cuboid
En el código anterior, height
, width
y length
se evalúan dos veces antes de completar todos los bucles de comparación.
Sin embargo, al encadenar operadores arbitrariamente, podemos reescribir el código anterior con mayor precisión, como se muestra en el siguiente ejemplo. El siguiente ejemplo solo evaluó la expresión una vez.
if length == height == width:
print("This is a cube ")
else:
print("This is a cuboid ")
Producción :
This is a cuboid
También podemos usar el concepto de encadenar operadores para asegurarnos de que una secuencia de ciertos valores sea igual. En el ejemplo que se muestra a continuación, probamos sin esfuerzo la igualdad de tres valores diferentes encadenando los valores.
a = 3
b = 5
c = 9
if a == b == c:
print("All the variables are equal")
else:
print("Variable are not the same")
Producción :
Variable are not the same
Dado que el operador de igualdad es transitivo, podemos concluir que, si a == b
y b == c
, el valor de b
debe ser igual a c
.
Sin embargo, debemos tener cuidado ya que la misma equivalencia o no equivalencia no puede implicarse en operadores de comparación no transitivos como el operador !=
utilizado para probar la no igualdad.
De manera similar, también podemos encadenar el operador <
para determinar si los números en una secuencia son estrictamente ascendentes o no.
a = 3
b = 5
c = 9
d = 11
e = 13
if a < b < c < d < e:
print("This is an ascending sequence of numbers")
else:
print("This is not an ascending sequence of numbers")
Producción :
This is an ascending sequence of numbers
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedIn