It returns the falsy `x` without evaluating `y`.✓Correct answer
It evaluates both operands and returns `False`.
It skips `x`, evaluates `y`, and returns `y`.
It raises TypeError unless both operands are Boolean.
Explanation
The falsy first operand already determines the conjunction's truth, so Python returns `x` and does not evaluate `y`. Saying that `and` always returns a Boolean loses the operand-returning behavior used by this operator.