Bird
Raised Fist0
Swiftprogramming~20 mins

Ternary conditional operator in Swift - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ternary Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a simple ternary expression
What is the output of this Swift code?
Swift
let a = 10
let b = 20
let result = a > b ? "a is greater" : "b is greater"
print(result)
Aa is greater
Bb is greater
Ctrue
Dfalse
Attempts:
2 left
💡 Hint
Compare the values of a and b carefully.
❓ Predict Output
intermediate
2:00remaining
Ternary operator with numeric result
What will be printed by this Swift code?
Swift
let x = 5
let y = 8
let max = x > y ? x : y
print(max)
A8
Bfalse
Ctrue
D5
Attempts:
2 left
💡 Hint
Check which number is bigger.
❓ Predict Output
advanced
2:30remaining
Nested ternary conditional output
What is the output of this Swift code?
Swift
let score = 75
let grade = score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : "F"
print(grade)
AA
BB
CF
DC
Attempts:
2 left
💡 Hint
Evaluate conditions from left to right.
❓ Predict Output
advanced
2:00remaining
Ternary operator with Boolean result
What does this Swift code print?
Swift
let isSunny = false
let activity = isSunny ? "Go outside" : "Stay inside"
print(activity)
AStay inside
BGo outside
Ctrue
Dfalse
Attempts:
2 left
💡 Hint
Check the Boolean value of isSunny.
❓ Predict Output
expert
3:00remaining
Complex ternary with side effects
What is the output of this Swift code?
Swift
var count = 0
let result = count == 0 ? "Zero" : { count += 1; return "Not zero" }()
print(result)
print(count)
ACompilation error
BNot zero and then 1
CZero and then 0
DZero and then 1
Attempts:
2 left
💡 Hint
Notice when the closure is executed.

Practice

(1/5)
1. What does the ternary conditional operator do in Swift?
condition ? valueIfTrue : valueIfFalse
easy
A. Declares a constant value
B. Repeats a block of code multiple times
C. Defines a new function
D. Chooses one of two values based on a condition

Solution

  1. Step 1: Understand the operator structure

    The ternary operator uses a condition followed by a question mark, then two values separated by a colon.
  2. Step 2: Identify its purpose

    It selects the first value if the condition is true, otherwise the second value.
  3. Final Answer:

    Chooses one of two values based on a condition -> Option D
  4. Quick Check:

    Ternary operator = chooses between two values [OK]
Hint: Remember: condition ? trueValue : falseValue picks one [OK]
Common Mistakes:
  • Confusing ternary with loops
  • Thinking it declares variables
  • Mixing it with function syntax
2. Which of the following is the correct syntax for the ternary conditional operator in Swift?
easy
A. condition ? valueIfTrue : valueIfFalse
B. condition : valueIfTrue ? valueIfFalse
C. condition ? (valueIfTrue, valueIfFalse)
D. condition ? valueIfTrue; valueIfFalse

Solution

  1. Step 1: Recall the ternary syntax

    The correct syntax places the condition first, then a question mark, then the true value, a colon, and the false value.
  2. Step 2: Compare options

    Only condition ? valueIfTrue : valueIfFalse matches this exact pattern.
  3. Final Answer:

    condition ? valueIfTrue : valueIfFalse -> Option A
  4. Quick Check:

    Syntax is condition ? true : false [OK]
Hint: Question mark before colon is key in ternary syntax [OK]
Common Mistakes:
  • Swapping question mark and colon
  • Using commas instead of colon
  • Adding semicolons inside ternary
3. What is the output of this Swift code?
let age = 20
let canVote = age >= 18 ? "Yes" : "No"
print(canVote)
medium
A. No
B. Yes
C. true
D. false

Solution

  1. Step 1: Evaluate the condition

    age is 20, which is greater than or equal to 18, so the condition is true.
  2. Step 2: Apply ternary operator

    Since the condition is true, canVote is assigned "Yes".
  3. Final Answer:

    Yes -> Option B
  4. Quick Check:

    age >= 18 is true, so output is "Yes" [OK]
Hint: Check condition result first, then pick true or false value [OK]
Common Mistakes:
  • Confusing true and false branches
  • Assuming boolean output instead of string
  • Ignoring the condition value
4. Identify the error in this Swift code using the ternary operator:
let score = 85
let grade = score > 90 ? "A" : "B" else "C"
medium
A. Using double quotes instead of single quotes
B. Missing parentheses around condition
C. Extra 'else' keyword after ternary operator
D. Incorrect variable declaration

Solution

  1. Step 1: Analyze ternary operator usage

    The ternary operator already includes both true and false values separated by a colon; adding 'else' is invalid syntax.
  2. Step 2: Identify the syntax error

    The 'else' keyword after the ternary expression causes a syntax error.
  3. Final Answer:

    Extra 'else' keyword after ternary operator -> Option C
  4. Quick Check:

    No 'else' after ternary operator [OK]
Hint: Ternary uses colon, never 'else' keyword [OK]
Common Mistakes:
  • Adding 'else' after ternary
  • Confusing ternary with if-else blocks
  • Misplacing colons and question marks
5. Given a dictionary of student scores, use a ternary operator in Swift to create a new dictionary that marks each student as "Pass" if their score is 50 or more, otherwise "Fail".
What is the correct way to write this using dictionary comprehension?
let scores = ["Anna": 75, "Ben": 45, "Cara": 50]
let results = scores.mapValues { score in
    // Fill in here
}
hard
A. score >= 50 ? "Pass" : "Fail"
B. if score >= 50 { "Pass" } else { "Fail" }
C. score > 50 ? "Pass" : "Fail"
D. score >= 50 ? "Fail" : "Pass"

Solution

  1. Step 1: Understand the condition for passing

    Students pass if their score is 50 or more, so condition is score >= 50.
  2. Step 2: Apply ternary operator correctly

    Use ternary to return "Pass" if true, else "Fail".
  3. Final Answer:

    score >= 50 ? "Pass" : "Fail" -> Option A
  4. Quick Check:

    Use condition ? "Pass" : "Fail" for mapping [OK]
Hint: Use mapValues with ternary: condition ? trueVal : falseVal [OK]
Common Mistakes:
  • Using if-else instead of ternary in mapValues
  • Wrong comparison operator (>)
  • Swapping Pass and Fail values
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