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
Using Ternary Conditional Expression in Python
📖 Scenario: You are helping a small store decide if a product is affordable for a customer based on their budget.
🎯 Goal: Build a small program that uses a ternary conditional expression to check if a product price is within the customer's budget and print a message accordingly.
📋 What You'll Learn
Create a variable for the product price
Create a variable for the customer's budget
Use a ternary conditional expression to decide if the product is affordable
Print the result message
💡 Why This Matters
🌍 Real World
Stores and shops often check if customers can afford products before suggesting purchases.
💼 Career
Understanding conditional expressions helps in writing clear and concise code for decision-making in software.
Progress0 / 4 steps
1
Set up product price and customer budget
Create a variable called product_price and set it to 120. Then create a variable called customer_budget and set it to 150.
Python
Hint
Use the equals sign = to assign values to variables.
2
Create a message variable using ternary conditional expression
Create a variable called message that uses a ternary conditional expression to set its value to "Affordable" if product_price is less than or equal to customer_budget, otherwise set it to "Too expensive".
Python
Hint
The ternary expression looks like: value_if_true if condition else value_if_false.
3
Print the message
Use print(message) to display the message variable.
Python
Hint
Use the print function to show the message on the screen.
4
Test with a different budget
Change the value of customer_budget to 100 and run the program again to see the new output.
Python
Hint
Remember to update the message variable after changing the budget.
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]