Bird
Raised Fist0
Pythonprogramming~15 mins

Ternary conditional expression in Python - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

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

  1. Step 1: Understand the ternary syntax

    The expression x if condition else y means Python checks the condition.
  2. Step 2: Determine the returned value

    If condition is True, it returns x; if False, it returns y.
  3. Final Answer:

    Returns x if condition is True, otherwise returns y. -> Option C
  4. 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

  1. Step 1: Recall Python ternary syntax

    Python uses the format x if condition else y for ternary expressions.
  2. Step 2: Compare options

    x if condition else y matches Python syntax exactly; others use syntax from other languages or incorrect forms.
  3. Final Answer:

    x if condition else y -> Option D
  4. 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

  1. Step 1: Evaluate the condition

    The condition age >= 18 is True because age is 20.
  2. Step 2: Determine the value assigned

    Since condition is True, status is assigned "Adult".
  3. Final Answer:

    Adult -> Option A
  4. 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

  1. Step 1: Analyze the ternary expression structure

    The expression has two else keywords, which is invalid syntax in Python ternary expressions.
  2. Step 2: Understand Python ternary rules

    Python ternary expressions allow only one else part; multiple else cause SyntaxError.
  3. Final Answer:

    SyntaxError due to multiple else keywords -> Option A
  4. 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)}

Solution

  1. Step 1: Understand dictionary comprehension syntax

    It must be {key: value for variable in iterable}. The value can use a ternary expression.
  2. 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.
  3. 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.
  4. Final Answer:

    d = {x: ("Even" if x % 2 == 0 else "Odd") for x in range(1,6)} -> Option B
  5. Quick Check:

    Use parentheses around ternary in dict comprehension [OK]
Hint: Wrap ternary in parentheses inside dict comprehension [OK]
Common Mistakes:
  • Placing ternary in key instead of value
  • Missing parentheses causing syntax errors
  • Using else before if in ternary