Operadores de comparación

Los operadores de comparación evalúan los valores recibidos ya sean éstos literales o de una variable, arrojando como resultado un valor booleano (cierto o falso) resultado de la comparación entre ambos valores.

Se puede evaluar "mayor que" con el operador >, "menor que" con el operador <, la igualdad con el operador de comparación ==  y la desigualdad con el operador "diferente que" !=.

Ejemplo:

#Operadores de comparacion

'''
    Inicializamos las variables a y b con valores distintos a efectos
    de comparar luego cual es mayor
'''

a=10
b=20

print(f"Es {a} mayor que {b}? Respuesta booleana:{a>b}")
print(f"Es {b} mayor que {a}? Respuesta booleana:{b>a}")
print(f"Es {a} igual a {b}? Respuesta booleana:{a==b}")

El código anterior da como resultado:

Es 10 mayor que 20? Respuesta booleana:False

Es 20 mayor que 10? Respuesta booleana:True

Es 10 igual a 20? Respuesta booleana:False

'''
    Igualamos a y b para forzar la respuesta positiva en la
    comparacion booleana de igualdad
'''

a=b

print(f"Es {a} igual a {b}? Respuesta booleana: {a==b}")

Este último código arroja como resultado:

Es 20 igual a 20? Respuesta booleana: True

Como podemos ver el intérprete de Python evalúa los valores de a y b arrojando verdadero o falso cuando sea el caso.


Si el criterio que deseamos utilizar es el de desiguadad podemos utilizar el operador "diferente que". Ejemplo:

print(f'¿Es 10 diferente de 20? {10!=20}')

Resultado:

¿Es 10 diferente de 20? True


Como se pudo comprobar e operador de comparación "no es igual" o "diferente de" funciona como se espera al comparar 2 valores claramente diferentes ya que el intérprete de Python devuelve TRUE a esta evaluación.

Es posible evaluar 2 condiciones no excluyentes en una misma operación. Por ejemplo si el valor o variable es mayor o igual a otra o si es menor o igual a otra.

Ejemplo:

'''
Es posible evaluar 2 condiciones no excluyentes simultáneamente
'''

a=11
b=10

print(f"Es {a} mayor o igual {b}? Respuesta booleana:{a>=b}")

a=9

print(f"Es {a} menor o igual a {b}? Respuesta booleana:{a<=b}")

a=b

print(f"Es {a} mayor o igual a {b}? Respuesta booleana: {a>=b}")
print(f"Es {a} menor o igual a {b}? Respuesta booleana: {a<=b}")

El código anterior da como resultado:

Es 11 mayor o igual 10? Respuesta booleana:True

Es 9 menor o igual a 10? Respuesta booleana:True

Es 10 mayor o igual a 10? Respuesta booleana: True

Es 10 menor o igual a 10? Respuesta booleana: True

Nota importante: Observa que una vez igualado los valores de a y b, e en la operaciones comparativa a>=b y a<=b da el mismo resultado ya que el intérprete de Pithon evalúa las dos condiciones posibles (mayor o igual y menor o igual) tomando el camino por el cual una de las 2 posibles condiciones sea cierta. En este caso la condición cierta es la igualdad.


Veamos éste último ejemplo para ilustrarlo mejor:

'''
Le asignamos un valor diferente a la variable a para forzar una respuesta booleana falsa
en solo una de las condiciones evaluadas
'''
a=11

print(f"Es {a} mayor o igual a {b}? Respuesta booleana: {a>=b}")
print(f"Es {a} menor o igual a {b}? Respuesta booleana: {a<=b}")

Este código da como resultado:

Es 11 mayor o igual a 10? Respuesta booleana: True

Es 11 menor o igual a 10? Respuesta booleana: False

Los operadores de comparación también se pueden usar con cadenas de caracteres.

Ejemplo:

'''
    Operadores de comparación con cadenas de texto
'''

sCadena1 = "Programando con Python"
sCadena2 = "Programando  con Python"

#Nótese el espacio adicional luego de la palabra "Programando"

print(f"Es la frase {sCadena1} igual a la frase {sCadena2}? Respuesta booleana: {sCadena1==sCadena2}")

Si sustituimos el valor de la cadena de caracteres sCadena1 de esta manera:

sCadena2 = "Programando con python"

Aún arrojaría el mismo resultado booleano falso:

Es la frase Programando con Python igual a la frase Programando con python? Respuesta booleana: False

Eso ocurre por que para el intérprete de Python ambas cadenas de caracteres difieren (aunque sea solo en un caracter) ya que la letra "p" en minúscula es diferente a la letra "P" en mayúscula. Esto es mucho mas obvio cuando comparamos los códigos  ASCII de ambos caracteres: 112 para la "p" y 80 para la ¨P¨. La computadora no entiende de letras, pero sí de números y al comparar los códigos ASCII de ambos caracteres es como si hiciera la comparación de igualdad entre 112 y 80.

Para mas información relacionada al código ASCII entra puedes ver el artículo relacionado al tema en la Wikipedia aquí.

Comentarios

Entradas populares