📖 Scenario: Imagine you are building a simple app that checks if a person is old enough to vote. You want to decide if the person can vote or not based on their age.
🎯 Goal: You will create a program that uses the ternary conditional operator to decide if a person is eligible to vote. The program will print "Can vote" if the person is 18 or older, and "Cannot vote" if younger.
📋 What You'll Learn
Create a variable called age with the value 20
Create a variable called votingStatus that uses the ternary conditional operator to check if age is 18 or more
Use the ternary conditional operator with the condition age >= 18
Set votingStatus to "Can vote" if true, otherwise "Cannot vote"
Print the value of votingStatus
💡 Why This Matters
🌍 Real World
Ternary operators help make quick decisions in code, like checking user age for permissions or showing different messages.
💼 Career
Understanding ternary operators is useful for writing clean and concise code in app development and many programming tasks.
Progress0 / 4 steps
1
Create the age variable
Create a variable called age and set it to the integer value 20.
Swift
Hint
Use var age = 20 to create the variable.
2
Create the votingStatus variable using the ternary operator
Create a variable called votingStatus that uses the ternary conditional operator with the condition age >= 18. Set it to "Can vote" if true, otherwise "Cannot vote".
Swift
Hint
Use the syntax condition ? valueIfTrue : valueIfFalse.
3
Use the ternary operator in a simple expression
Make sure the variable votingStatus uses the ternary conditional operator with the exact condition age >= 18 and the exact values "Can vote" and "Cannot vote".
Swift
Hint
Check that the ternary operator uses the condition age >= 18 exactly.
4
Print the votingStatus
Write a print statement to display the value of the variable votingStatus.
Swift
Hint
Use print(votingStatus) to show the result.
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.