PyQuiz 22 - Comparación encadenada en Python | Quiz interactivo

PyQuiz 22 – Comparación encadenada en Python

El reto

x = 5
print(1 < x < 10)

¿Cuál es el resultado?

  • a) True
  • b) False
  • c) Error

Piensa tu respuesta antes de seguir leyendo…


Concepto: Comparación encadenada

Python permite escribir comparaciones encadenadas como 1 < x < 10, que es equivalente a 1 < x and x < 10 pero más legible y conciso. Este es un rasgo propio de Python; en la mayoría de los lenguajes, encadenar comparaciones de este modo no funciona como se espera.

La evaluación se hace de izquierda a derecha: Python comprueba 1 < x primero, y si es True, evalúa x < 10. Si ambas son verdaderas, el resultado es True. Si alguna falla, el resultado es False y Python puede aplicar cortocircuito.

Esto es especialmente útil para comprobar si un valor está dentro de un rango, como validar edades, notas, temperaturas, etc., de forma muy natural y matemáticamente intuitiva.

Paso a paso

  1. x = 5 — se asigna el valor entero 5.
  2. 1 < x — se evalúa: ¿es 1 menor que 5? Sí. Resultado: True.
  3. x < 10 — se evalúa: ¿es 5 menor que 10? Sí. Resultado: True.
  4. True and True — internamente Python combina ambas condiciones. Resultado: True.
  5. print(1 < x < 10) — se imprime True.

Solución

Respuesta correcta: A) True

Python permite comparaciones encadenadas. 1 < 5 < 10 equivale a (1 < 5) and (5 < 10) = True.

Sabías que...

Las comparaciones encadenadas funcionan con cualquier operador de comparación y puedes encadenar más de dos:

x = 5

# Equivalencia exacta
print(1 < x < 10)           # True
print(1 < x and x < 10)     # True (idéntico)

# Encadenamiento triple
nota = 7.5
print(0 <= nota <= 10)  # True: nota válida

# Encadenamiento con distintos operadores
print(1 < 3 <= 3 < 5)   # True

# En Python: 1 < 5 > 3  ->  True (1<5 AND 5>3)
print(1 < 5 > 3)  # True

# Uso práctico: validar rango
def es_nota_valida(nota):
    return 0 <= nota <= 10

Prueba tú mismo

¿Qué devuelve 3 < 3 <= 5? ¿Y 3 <= 3 <= 5? Intenta predecir la diferencia antes de ejecutarlo.


Más PyQuizzes en elpythonista.com/pyquizzes

Tutorial relacionado: Operadores y expresiones

Compartir

Deja una respuesta

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

Publicar un comentario