Bird
Raised Fist0
Swiftprogramming~20 mins

Comparison operators in Swift - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Swift 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 operators
What is the output of this Swift code snippet?
Swift
let a = 5
let b = 10
let c = 15
print(a < b && b < c)
Atrue
Bfalse
CCompilation error
DRuntime error
Attempts:
2 left
💡 Hint
Think about how logical AND works with comparison operators.
❓ Predict Output
intermediate
2:00remaining
Result of equality and inequality operators
What will be printed by this Swift code?
Swift
let x = 7
let y = 7
print(x == y, x != y)
Atrue false
Bfalse true
Ctrue true
Dfalse false
Attempts:
2 left
💡 Hint
Check if x and y are equal or not.
❓ Predict Output
advanced
2:00remaining
Output of mixed comparison and logical operators
What is the output of this Swift code?
Swift
let p = 3
let q = 6
let r = 9
print(p < q || q > r && r == 9)
ARuntime error
Bfalse
CCompilation error
Dtrue
Attempts:
2 left
💡 Hint
Remember operator precedence: && before ||.
❓ Predict Output
advanced
2:00remaining
Output of comparing optional values
What will this Swift code print?
Swift
let a: Int? = nil
let b: Int? = 5
print(a == b)
ACompilation error
Bfalse
Ctrue
DRuntime error
Attempts:
2 left
💡 Hint
Comparing nil to a value returns false.
❓ Predict Output
expert
3:00remaining
Output of custom Comparable struct comparison
Given this Swift code, what is the output?
Swift
struct Box: Comparable {
    let volume: Int
    static func < (lhs: Box, rhs: Box) -> Bool {
        lhs.volume < rhs.volume
    }
}
let box1 = Box(volume: 10)
let box2 = Box(volume: 20)
print(box1 > box2)
Atrue
BRuntime error
Cfalse
DCompilation error
Attempts:
2 left
💡 Hint
The > operator uses the < operator logic reversed.

Practice

(1/5)
1. Which of the following comparison operators checks if two values are equal in Swift?
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 Swift.
  2. Step 2: Compare with other operators

    != means not equal, > means greater than, and <= means less than or equal to.
  3. Final Answer:

    == -> Option A
  4. Quick Check:

    Equality operator = == [OK]
Hint: Remember: double equals means equality check [OK]
Common Mistakes:
  • Confusing == with = (assignment)
  • Using != to check equality
  • Mixing > and < with equality
2. Which of the following is the correct syntax to check if variable a is not equal to variable b in Swift?
easy
A. a != b
B. a =! b
C. a !== b
D. a <> b

Solution

  1. Step 1: Identify the not equal operator in Swift

    Swift uses != to check if two values are not equal.
  2. Step 2: Check syntax correctness

    a != b is correct. a =! b is invalid syntax, !== is for identity comparison in some languages but not for value inequality in Swift, and <> is not a Swift operator.
  3. Final Answer:

    a != b -> Option A
  4. Quick Check:

    Not equal operator = != [OK]
Hint: Not equal always has ! before = [OK]
Common Mistakes:
  • Swapping = and ! in != operator
  • Using === instead of !=
  • Using <> which is not valid in Swift
3. What will be the output of the following Swift code?
let x = 10
let y = 20
print(x > y)
medium
A. true
B. 10
C. 20
D. false

Solution

  1. Step 1: Understand the comparison

    The code compares if x (10) is greater than y (20).
  2. Step 2: Evaluate the comparison

    Since 10 is not greater than 20, the expression x > y is false.
  3. Final Answer:

    false -> Option D
  4. Quick Check:

    10 > 20 = false [OK]
Hint: Compare values carefully, > means strictly greater [OK]
Common Mistakes:
  • Assuming 10 > 20 is true
  • Confusing > with <
  • Printing variable values instead of boolean
4. Identify the error in the following Swift code snippet:
let a = 5
let b = 10
if a = b {
    print("Equal")
} else {
    print("Not Equal")
}
medium
A. Using print instead of println
B. Missing parentheses around condition
C. Using = instead of == in if condition
D. Variables a and b must be var, not let

Solution

  1. Step 1: Check the if condition syntax

    The condition uses a = b, which is assignment, not comparison.
  2. Step 2: Correct operator for comparison

    To compare values, Swift requires == instead of =.
  3. Final Answer:

    Using = instead of == in if condition -> Option C
  4. Quick Check:

    Comparison needs ==, not = [OK]
Hint: Use == for comparison, = is assignment [OK]
Common Mistakes:
  • Using = instead of == in conditions
  • Thinking parentheses are mandatory in Swift if
  • Confusing print and println functions
5. You want to check if a number n is between 10 and 20 inclusive in Swift. Which of the following expressions correctly uses comparison operators to do this?
hard
A. n > 10 || n < 20
B. n >= 10 && n <= 20
C. n == 10 && n == 20
D. n != 10 && n != 20

Solution

  1. Step 1: Understand the range condition

    To check if n is between 10 and 20 inclusive, it must be greater than or equal to 10 and less than or equal to 20.
  2. Step 2: Analyze each option

    n >= 10 && n <= 20 uses n >= 10 && n <= 20, which correctly checks the inclusive range. n > 10 || n < 20 uses OR which is incorrect for range. n == 10 && n == 20 checks if n equals both 10 and 20 simultaneously, which is impossible. n != 10 && n != 20 checks if n is not 10 and not 20, which does not ensure the range.
  3. Final Answer:

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

    Inclusive range uses >= and <= with AND [OK]
Hint: Use && with >= and <= for inclusive range checks [OK]
Common Mistakes:
  • Using || instead of && for range
  • Checking equality to both ends at once
  • Using != which excludes values instead of range
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard