Bird
Raised Fist0
Pythonprogramming~15 mins

Logical operators in conditions 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 Logical Operators in Conditions
📖 Scenario: You are creating a simple program to check if a person is eligible for a special discount based on their age and membership status.
🎯 Goal: Build a program that uses logical operators and and or in conditions to decide if a person gets a discount.
📋 What You'll Learn
Create a dictionary with exact keys and values for a person's details
Create a variable to hold the minimum age for discount
Use a condition with and and or to check eligibility
Print the exact output message based on eligibility
💡 Why This Matters
🌍 Real World
Logical operators help computers make decisions based on multiple rules, like checking if someone qualifies for a discount or access.
💼 Career
Understanding logical conditions is essential for programming tasks in software development, data validation, and automation.
Progress0 / 4 steps
1
Create the person's data
Create a dictionary called person with these exact entries: 'name': 'Emma', 'age': 22, and 'member': True.
Python
Hint

Use curly braces {} to create the dictionary and separate each key-value pair with commas.

2
Set the minimum age for discount
Create a variable called min_age and set it to 18.
Python
Hint

Just write min_age = 18 on a new line.

3
Check discount eligibility using logical operators
Create a variable called eligible that is True if the person's age is greater than or equal to min_age and the person is a member, or if the person's name is exactly 'Emma'. Use the logical operators and and or in the condition.
Python
Hint

Use parentheses to group conditions and combine them with and and or.

4
Print the eligibility result
Write a print statement that outputs exactly: "Emma is eligible for discount: True" using the person['name'] and eligible variables with an f-string.
Python
Hint

Use print(f"{person['name']} is eligible for discount: {eligible}") to show the result.

Practice

(1/5)
1. Which logical operator in Python means all conditions must be true for the whole expression to be true?
easy
A. xor
B. and
C. not
D. or

Solution

  1. Step 1: Understand the meaning of 'and'

    The and operator returns true only if both conditions are true.
  2. Step 2: Compare with other operators

    or needs only one true condition, not reverses truth, and xor is not a Python keyword.
  3. Final Answer:

    and -> Option B
  4. Quick Check:

    All conditions true = and [OK]
Hint: Remember: 'and' means all must be true [OK]
Common Mistakes:
  • Confusing 'and' with 'or'
  • Thinking 'not' means all true
  • Using 'xor' which is not a Python keyword
2. Which of the following is the correct syntax to check if variable x is NOT equal to 10 and variable y is greater than 5?
easy
A. if x != 10 and y > 5:
B. if x <> 10 and y > 5:
C. if x != 10 & y > 5:
D. if x != 10 or y > 5:

Solution

  1. Step 1: Check the inequality operator

    != is the correct 'not equal' operator in Python; <> is invalid syntax.
  2. Step 2: Check logical operator usage

    and correctly combines two conditions; & is a bitwise operator and or changes logic.
  3. Final Answer:

    if x != 10 and y > 5: -> Option A
  4. Quick Check:

    Correct inequality and 'and' syntax [OK]
Hint: Use '!=' for not equal and 'and' to combine conditions [OK]
Common Mistakes:
  • Using '<>' instead of '!='
  • Using '&' instead of 'and'
  • Using 'or' when 'and' is needed
3. What will be the output of this code?
age = 20
has_id = False
if age >= 18 and has_id:
    print('Allowed')
else:
    print('Denied')
medium
A. SyntaxError
B. Allowed
C. Denied
D. No output

Solution

  1. Step 1: Evaluate each condition

    age >= 18 is True since 20 >= 18, but has_id is False.
  2. Step 2: Apply 'and' operator

    True and False is False, so the else block runs.
  3. Final Answer:

    Denied -> Option C
  4. Quick Check:

    True and False = False [OK]
Hint: Both conditions must be true for 'and' to print Allowed [OK]
Common Mistakes:
  • Assuming one True is enough with 'and'
  • Confusing 'and' with 'or'
  • Ignoring boolean value of variables
4. Find the error in this code snippet:
if not x > 10 or y < 5
    print('Check passed')
medium
A. Missing colon ':' after condition
B. Wrong use of 'not' operator
C. Incorrect indentation
D. Using 'or' instead of 'and'

Solution

  1. Step 1: Check syntax of if statement

    Python requires a colon ':' at the end of the if condition line.
  2. Step 2: Review other parts

    The use of not and or is correct; indentation is not shown as wrong here.
  3. Final Answer:

    Missing colon ':' after condition -> Option A
  4. Quick Check:

    if statements need ':' [OK]
Hint: Always put ':' after if condition [OK]
Common Mistakes:
  • Forgetting ':' after if
  • Misusing 'not' operator
  • Wrong indentation without colon
5. You want to check if a number n is either less than 0 or greater than 100, but NOT equal to -10. Which condition correctly uses logical operators?
hard
A. if n < 0 or (n > 100 and n != -10):
B. if n < 0 and n > 100 or n != -10:
C. if not (n < 0 or n > 100) and n == -10:
D. if (n < 0 or n > 100) and n != -10:

Solution

  1. Step 1: Understand the condition requirements

    We want numbers less than 0 or greater than 100, but exclude -10.
  2. Step 2: Analyze each option

    if (n < 0 or n > 100) and n != -10: correctly groups the or condition and excludes -10 with and n != -10. if n < 0 or (n > 100 and n != -10): excludes -10 only when >100, not <0 (e.g., n=-10 is true). if not (n < 0 or n > 100) and n == -10: reverses logic and checks for equal -10. if n < 0 and n > 100 or n != -10: mixes and/or incorrectly.
  3. Final Answer:

    if (n < 0 or n > 100) and n != -10: -> Option D
  4. Quick Check:

    Group or, then exclude -10 with and [OK]
Hint: Group or conditions, then exclude with and [OK]
Common Mistakes:
  • Wrong grouping of conditions
  • Misplacing 'not' or 'and'
  • Confusing '!=' with '=='