Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a ternary conditional expression in Python?
It is a way to write an if-else statement in one line. It chooses one value if a condition is true, and another if false.
Click to reveal answer
beginner
Write the syntax of a ternary conditional expression.
value_if_true if condition else value_if_false
Click to reveal answer
beginner
How does a ternary conditional expression improve code?
It makes code shorter and easier to read when choosing between two values based on a condition.
Click to reveal answer
beginner
Example: What does this code print?
print('Yes' if 5 > 3 else 'No')
It prints 'Yes' because 5 is greater than 3, so the condition is true.
Click to reveal answer
intermediate
Can ternary conditional expressions be nested?
Yes, you can put one ternary expression inside another to check multiple conditions, but it can become hard to read.
Click to reveal answer
What is the correct way to write a ternary conditional expression in Python?
Avalue_if_true if condition else value_if_false
Bif condition then value_if_true else value_if_false
Ccondition ? value_if_true : value_if_false
Dif condition: value_if_true else value_if_false
✗ Incorrect
Python uses 'value_if_true if condition else value_if_false' syntax for ternary expressions.
What will this print?
print('Even' if 4 % 2 == 0 else 'Odd')
AOdd
BError
CEven
D4 % 2 == 0
✗ Incorrect
4 % 2 == 0 is true, so it prints 'Even'.
Which part of the ternary expression is evaluated first?
AAll at the same time
Bvalue_if_true
Cvalue_if_false
Dcondition
✗ Incorrect
The condition is checked first to decide which value to use.
Is this a valid ternary expression?
result = 'Yes' if x > 0 else 'No'
ANo
BYes
COnly if x is defined
DOnly in Python 2
✗ Incorrect
This is valid Python syntax for a ternary conditional expression.
What is a downside of nesting ternary expressions?
AThey can be hard to read
BThey run slower
CThey cause syntax errors
DThey don't work in Python
✗ Incorrect
Nesting ternary expressions can make code confusing and hard to understand.
Explain how a ternary conditional expression works and write a simple example.
Think of it as a short if-else in one line.
You got /4 concepts.
Describe when it is good to use a ternary conditional expression and when to avoid it.
Consider how easy your code is to read.
You got /3 concepts.
Practice
(1/5)
1. What does the ternary conditional expression x if condition else y do in Python?
easy
A. Returns y if condition is True, otherwise returns x.
B. Always returns x regardless of condition.
C. Returns x if condition is True, otherwise returns y.
D. Raises an error if condition is False.
Solution
Step 1: Understand the ternary syntax
The expression x if condition else y means Python checks the condition.
Step 2: Determine the returned value
If condition is True, it returns x; if False, it returns y.
Final Answer:
Returns x if condition is True, otherwise returns y. -> Option C
Quick Check:
True condition = x, False condition = y [OK]
Hint: Remember: condition in middle, true value before else [OK]
Common Mistakes:
Confusing the order of true and false values
Thinking it always returns the first value
Assuming it raises errors on false condition
2. Which of the following is the correct syntax for a ternary conditional expression in Python?
easy
A. condition ? x : y
B. if condition then x else y
C. x ? condition : y
D. x if condition else y
Solution
Step 1: Recall Python ternary syntax
Python uses the format x if condition else y for ternary expressions.
Step 2: Compare options
x if condition else y matches Python syntax exactly; others use syntax from other languages or incorrect forms.
Final Answer:
x if condition else y -> Option D
Quick Check:
Python ternary = x if condition else y [OK]
Hint: Python ternary always uses 'if' in the middle [OK]
Common Mistakes:
Using ?: like in other languages
Writing 'if condition then' which is invalid
Swapping the order of parts
3. What is the output of this code?
age = 20
status = "Adult" if age >= 18 else "Minor"
print(status)
medium
A. Adult
B. Minor
C. True
D. False
Solution
Step 1: Evaluate the condition
The condition age >= 18 is True because age is 20.
Step 2: Determine the value assigned
Since condition is True, status is assigned "Adult".
Final Answer:
Adult -> Option A
Quick Check:
age 20 >= 18 is True, so status = Adult [OK]
Hint: Check condition result first, then pick value before else [OK]
Common Mistakes:
Choosing the else value instead of the if value
Confusing string output with boolean
Ignoring the condition result
4. Find the error in this ternary expression:
result = "Pass" if score > 50 else "Fail" else "Invalid"
medium
A. SyntaxError due to multiple else keywords
B. No error, code runs fine
C. TypeError because of string comparison
D. NameError because score is undefined
Solution
Step 1: Analyze the ternary expression structure
The expression has two else keywords, which is invalid syntax in Python ternary expressions.
Step 2: Understand Python ternary rules
Python ternary expressions allow only one else part; multiple else cause SyntaxError.
Final Answer:
SyntaxError due to multiple else keywords -> Option A
Quick Check:
Only one else allowed in ternary [OK]
Hint: Only one else per ternary expression [OK]
Common Mistakes:
Trying to chain else without nesting
Assuming multiple else are allowed
Ignoring syntax error messages
5. You want to create a dictionary where keys are numbers 1 to 5 and values are "Even" or "Odd" using a ternary expression inside a dictionary comprehension. Which code is correct?
hard
A. d = {x: "Even" if x % 2 == 0 "Odd" for x in range(1,6)}
B. d = {x: ("Even" if x % 2 == 0 else "Odd") for x in range(1,6)}
C. d = {x if x % 2 == 0 else "Odd": x for x in range(1,6)}
D. d = {x: "Even" else "Odd" if x % 2 == 0 for x in range(1,6)}
It must be {key: value for variable in iterable}. The value can use a ternary expression.
Step 2: Check ternary expression placement
d = {x: ("Even" if x % 2 == 0 else "Odd") for x in range(1,6)} correctly wraps the ternary expression in parentheses for clarity and correct parsing.
Step 3: Identify incorrect options
d = {x: "Even" if x % 2 == 0 "Odd" for x in range(1,6)} misses the else keyword, causing SyntaxError; d = {x if x % 2 == 0 else "Odd": x for x in range(1,6)} misplaces ternary in key. d = {x: "Even" else "Odd" if x % 2 == 0 for x in range(1,6)} has invalid syntax.
Final Answer:
d = {x: ("Even" if x % 2 == 0 else "Odd") for x in range(1,6)} -> Option B
Quick Check:
Use parentheses around ternary in dict comprehension [OK]
Hint: Wrap ternary in parentheses inside dict comprehension [OK]