Bird
Raised Fist0
Pythonprogramming~20 mins

Comparison operators in Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Comparison Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of chained comparison
What is the output of this Python code?
Python
x = 5
result = 3 < x <= 5
print(result)
ATrue
BTypeError
CSyntaxError
DFalse
Attempts:
2 left
💡 Hint
Remember that chained comparisons check all parts together.
Predict Output
intermediate
2:00remaining
Output of equality and identity
What is the output of this code snippet?
Python
a = [1, 2, 3]
b = a
c = a[:]
print(a == b, a is b, a == c, a is c)
AFalse False False False
BTrue False True False
CFalse True False True
DTrue True True False
Attempts:
2 left
💡 Hint
Remember that '==' checks value equality, 'is' checks if two variables point to the same object.
Predict Output
advanced
2:00remaining
Output of mixed type comparison
What happens when you run this code?
Python
print(5 < '10')
AFalse
BTypeError
CSyntaxError
DTrue
Attempts:
2 left
💡 Hint
Think about comparing different data types in Python 3.
Predict Output
advanced
2:00remaining
Output of complex boolean comparison
What is the output of this code?
Python
x = 10
y = 20
print(x < y and y < 30 or x > 15)
ASyntaxError
BFalse
CTrue
DTypeError
Attempts:
2 left
💡 Hint
Remember the order of operations for 'and' and 'or'.
Predict Output
expert
2:00remaining
Output of comparison with custom class
What is the output of this code?
Python
class Number:
    def __init__(self, value):
        self.value = value
    def __lt__(self, other):
        return self.value > other.value

n1 = Number(5)
n2 = Number(3)
print(n1 < n2)
ATrue
BFalse
CTypeError
DAttributeError
Attempts:
2 left
💡 Hint
Look carefully at the __lt__ method implementation.

Practice

(1/5)
1. Which of the following comparison operators checks if two values are equal in Python?
easy
A. ==
B. =
C. !=
D. >

Solution

  1. Step 1: Understand the equality operator

    The operator == is used to check if two values are equal in Python.
  2. Step 2: Differentiate from assignment and other operators

    = is for assignment, != means not equal, and > means greater than.
  3. Final Answer:

    == -> Option A
  4. Quick Check:

    Equality check = == [OK]
Hint: Remember: double equals means equality check [OK]
Common Mistakes:
  • Confusing = with ==
  • Using != for equality
  • Using > instead of ==
2. Which of the following is the correct syntax to check if variable x is not equal to 10 in Python?
easy
A. x != 10
B. x <> 10
C. x =! 10
D. x !== 10

Solution

  1. Step 1: Identify the correct not equal operator

    In Python, != is the correct operator for 'not equal'.
  2. Step 2: Recognize invalid syntax

    <> is not valid in Python, =! and !== are syntax errors.
  3. Final Answer:

    x != 10 -> Option A
  4. Quick Check:

    Not equal operator = != [OK]
Hint: Use != for not equal, not <> or !== [OK]
Common Mistakes:
  • Using <> which is invalid in Python
  • Writing =! instead of !=
  • Using !== from other languages
3. What will be the output of this code?
print(5 > 3 and 2 == 2)
medium
A. SyntaxError
B. False
C. True
D. None

Solution

  1. Step 1: Evaluate each comparison

    5 > 3 is True, and 2 == 2 is True.
  2. Step 2: Apply the 'and' operator

    True and True results in True.
  3. Final Answer:

    True -> Option C
  4. Quick Check:

    Both conditions True, so output True [OK]
Hint: Both sides must be True for 'and' to be True [OK]
Common Mistakes:
  • Confusing 'and' with 'or'
  • Misreading comparison results
  • Expecting syntax error
4. Find the error in this code snippet:
if 4 =< 5:
    print("Yes")
medium
A. Missing colon after if statement
B. The operator =< is invalid in Python
C. Indentation error in print statement
D. Variable 4 cannot be compared

Solution

  1. Step 1: Check the comparison operator

    The operator =< is not valid in Python; the correct operator is <=.
  2. Step 2: Verify other syntax parts

    The colon is present and indentation is correct; 4 is a valid integer literal for comparison.
  3. Final Answer:

    The operator =< is invalid in Python -> Option B
  4. Quick Check:

    Use <= for less than or equal [OK]
Hint: Remember: less or equal is <=, not =< [OK]
Common Mistakes:
  • Swapping operator symbols
  • Missing colon
  • Incorrect indentation
5. You want to check if a number n is between 10 and 20 inclusive. Which expression correctly uses comparison operators in Python?
hard
A. n > 10 or n < 20
B. 10 < n < 20
C. n >= 10 and n < 20
D. 10 <= n <= 20

Solution

  1. Step 1: Understand inclusive range check

    Inclusive means n can be equal to 10 or 20, so use <= operators.
  2. Step 2: Evaluate each option

    10 <= n <= 20 uses chained comparison which is correct and concise. 10 < n < 20 excludes 10 and 20. n >= 10 and n < 20 excludes 20. n > 10 or n < 20 uses 'or' which is incorrect for range check.
  3. Final Answer:

    10 <= n <= 20 -> Option D
  4. Quick Check:

    Use chained <= for inclusive range [OK]
Hint: Use chained comparisons for range checks [OK]
Common Mistakes:
  • Using < instead of <=
  • Using 'or' instead of 'and'
  • Not including boundary values