Bird
Raised Fist0
Swiftprogramming~10 mins

Ternary conditional operator in Swift - Mini Project: Build & Apply

Choose your learning style10 modes available
Using the Ternary Conditional Operator in Swift
📖 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

  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