Skip to content
Question 34 of 97

Q.Which of the following expressions in Python evaluates to True ? (A) 2>3 and 2<3 (B) 3>1 and 2 (C) 3>1 and 3>2 (D) 3>1 and 3<2

Odisha ChseCBSE Class XII Board 2026MCQ· 1mImportance★★★★★
35% · 34/97 Questions
🔒 Locked · start free trial →

You're viewing a preview — the full solution, concept, methods & PYQ mapping are locked.

Start your 14-day free trial to unlock the full solution →

Python's and returns its first falsy operand, or the second operand when the first is truthy. Only (C) 3>1 and 3>2 joins two True comparisons, so only (C) evaluates to the boolean True.

Concept — how and really works

x and y in Python does not always return a boolean:

  • If x is falsy (False, 0, None, empty containers), it returns x immediately — the right side is never evaluated (short-circuit).
  • If x is truthy, it returns y — whatever value y is.

A comparison such as 3>1 always evaluates to a real boolean (True/False), so an and of two comparisons yields a boolean. But an and whose right operand is a plain number returns that number, not True.

Evaluating each option

OptionStep 1 (left)Step 2 (right)Final value
(A) 2>3 and 2<32>3 is Falseskipped (short-circuit)False
(B) 3>1 and 23>1 is Truereturns 2 itself2 (truthy, but not True)
(C) 3>1 and 3>23>1 is True3>2 is TrueTrue
(D) 3>1 and 3<23>1 is True3<2 is FalseFalse

Why each wrong option fails:

  • (A) — the left comparison 2>3 is already False, so the whole expression is False. …

Unlock everything free for 14 days

  • Full step-by-step solutions
  • Concept-first explanations
  • Methods, shortcuts & mistakes
  • PYQ mapping + timed mock tests

Full access for 14 days. No credit card required.