This program checks if the temperature is above 25 degrees. If yes, it suggests wearing shorts; otherwise, pants.
Swift
import Foundation
let temperature = 30let advice = temperature > 25 ? "Wear shorts" : "Wear pants"print("Temperature: \(temperature)°C")
print("Advice: \(advice)")
OutputSuccess
Important Notes
Use the ternary operator only for simple conditions to keep code clear.
For complex decisions, prefer if-else statements for better readability.
Summary
The ternary operator chooses between two values based on a condition.
It is a shortcut for simple if-else assignments.
Use it to make your code shorter and easier to read when the choice is simple.
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
Step 1: Understand the operator structure
The ternary operator uses a condition followed by a question mark, then two values separated by a colon.
Step 2: Identify its purpose
It selects the first value if the condition is true, otherwise the second value.
Final Answer:
Chooses one of two values based on a condition -> Option D
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
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.
Step 2: Compare options
Only condition ? valueIfTrue : valueIfFalse matches this exact pattern.
Final Answer:
condition ? valueIfTrue : valueIfFalse -> Option A
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
Step 1: Evaluate the condition
age is 20, which is greater than or equal to 18, so the condition is true.
Step 2: Apply ternary operator
Since the condition is true, canVote is assigned "Yes".
Final Answer:
Yes -> Option B
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
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.
Step 2: Identify the syntax error
The 'else' keyword after the ternary expression causes a syntax error.
Final Answer:
Extra 'else' keyword after ternary operator -> Option C
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
Step 1: Understand the condition for passing
Students pass if their score is 50 or more, so condition is score >= 50.
Step 2: Apply ternary operator correctly
Use ternary to return "Pass" if true, else "Fail".
Final Answer:
score >= 50 ? "Pass" : "Fail" -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.