Operadores de Comparación
Las comparaciones permiten que tu programa formule preguntas de sí/no sobre los valores:
- ¿Son estos iguales?
- ¿Es este mayor?
- ¿Este número está dentro de un rango?
Una comparación devuelve un valor booleano (True o False) y es la base de la lógica if/while.
Lo esencial
Python proporciona seis operadores de comparación (==, !=, <, <=, >, >=) para comprobar igualdad y orden entre valores; cada comparación evalúa a True o False.
Igualdad — ==
Verifica si dos valores son iguales.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= asigna un valor a una variable, mientras que == compara dos valores.
Desigualdad — !=
Verifica si dos valores son diferentes.
12print(5 != 3) # True print("cat" != "cat") # False
Mayor que — >
Verdadero si el valor de la izquierda es estrictamente mayor que el de la derecha.
12print(7 > 9) # False print(12 > 3) # True
Menor que — <
Verdadero si el valor de la izquierda es estrictamente menor que el de la derecha.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Mayor o igual que — >=
Verdadero si el valor de la izquierda es mayor o igual que el de la derecha.
12print(7 >= 7) # True print(4 >= 9) # False
Menor o igual — <=
Verdadero si el valor de la izquierda es menor o igual al de la derecha.
12print(10 <= 9) # False print(5 <= 5) # True
Comparaciones encadenadas
Python permite escribir rangos de manera natural:
0 < x < 10 significa "x es mayor que 0 y menor que 10".
Internamente, se comporta como (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Esto se lee de forma clara y evita repetir x.
Matiz de los números de punto flotante (pequeños errores de redondeo)
Algunos decimales (como 0.1) no pueden representarse exactamente en binario. Por eso, la igualdad estricta en números flotantes puede dar resultados inesperados.
1print(0.1 + 0.2 == 0.3) # False in many environments
Al comparar números flotantes para "igualdad", se recomienda utilizar una comprobación con tolerancia.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
No se está diciendo "exactamente igual", sino "suficientemente cercano".
Comparación de cadenas (mayúsculas, minúsculas y orden)
Las comparaciones de cadenas son sensibles a mayúsculas y minúsculas y lexicográficas (carácter por carácter según el orden Unicode).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Para comprobaciones sin distinción entre mayúsculas y minúsculas, normalizar ambos lados primero.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Rellena los espacios con True o False:
2. ¿Qué expresión única verifica correctamente que x está entre 1 y 5 inclusive (usando encadenamiento)?
3. ¿Qué comparación de cadenas es True?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 5
Operadores de Comparación
Desliza para mostrar el menú
Las comparaciones permiten que tu programa formule preguntas de sí/no sobre los valores:
- ¿Son estos iguales?
- ¿Es este mayor?
- ¿Este número está dentro de un rango?
Una comparación devuelve un valor booleano (True o False) y es la base de la lógica if/while.
Lo esencial
Python proporciona seis operadores de comparación (==, !=, <, <=, >, >=) para comprobar igualdad y orden entre valores; cada comparación evalúa a True o False.
Igualdad — ==
Verifica si dos valores son iguales.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= asigna un valor a una variable, mientras que == compara dos valores.
Desigualdad — !=
Verifica si dos valores son diferentes.
12print(5 != 3) # True print("cat" != "cat") # False
Mayor que — >
Verdadero si el valor de la izquierda es estrictamente mayor que el de la derecha.
12print(7 > 9) # False print(12 > 3) # True
Menor que — <
Verdadero si el valor de la izquierda es estrictamente menor que el de la derecha.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Mayor o igual que — >=
Verdadero si el valor de la izquierda es mayor o igual que el de la derecha.
12print(7 >= 7) # True print(4 >= 9) # False
Menor o igual — <=
Verdadero si el valor de la izquierda es menor o igual al de la derecha.
12print(10 <= 9) # False print(5 <= 5) # True
Comparaciones encadenadas
Python permite escribir rangos de manera natural:
0 < x < 10 significa "x es mayor que 0 y menor que 10".
Internamente, se comporta como (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Esto se lee de forma clara y evita repetir x.
Matiz de los números de punto flotante (pequeños errores de redondeo)
Algunos decimales (como 0.1) no pueden representarse exactamente en binario. Por eso, la igualdad estricta en números flotantes puede dar resultados inesperados.
1print(0.1 + 0.2 == 0.3) # False in many environments
Al comparar números flotantes para "igualdad", se recomienda utilizar una comprobación con tolerancia.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
No se está diciendo "exactamente igual", sino "suficientemente cercano".
Comparación de cadenas (mayúsculas, minúsculas y orden)
Las comparaciones de cadenas son sensibles a mayúsculas y minúsculas y lexicográficas (carácter por carácter según el orden Unicode).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
Para comprobaciones sin distinción entre mayúsculas y minúsculas, normalizar ambos lados primero.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Rellena los espacios con True o False:
2. ¿Qué expresión única verifica correctamente que x está entre 1 y 5 inclusive (usando encadenamiento)?
3. ¿Qué comparación de cadenas es True?
¡Gracias por tus comentarios!