Bird
Raised Fist0
Pythonprogramming~15 mins

Assert statement usage 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
Assert Statement Usage
📖 Scenario: You are working on a simple program that checks if a user's age is valid for a certain activity. You want to make sure the age is not negative and is within a reasonable range.
🎯 Goal: Build a program that uses assert statements to check the validity of an age value.
📋 What You'll Learn
Create a variable called age with a specific integer value.
Create a variable called max_age to set the maximum allowed age.
Use assert statements to check that age is not negative and does not exceed max_age.
Print a message confirming the age is valid.
💡 Why This Matters
🌍 Real World
Assert statements help programmers catch mistakes early by checking if values are correct while the program runs.
💼 Career
Many software jobs require writing code that safely checks data and assumptions to avoid bugs and errors.
Progress0 / 4 steps
1
Create the age variable
Create a variable called age and set it to the integer value 25.
Python
Hint

Use a simple assignment like age = 25.

2
Create the max_age variable
Create a variable called max_age and set it to the integer value 120.
Python
Hint

Use a simple assignment like max_age = 120.

3
Add assert statements to check age
Add two assert statements: one to check that age is greater than or equal to 0, and another to check that age is less than or equal to max_age.
Python
Hint

Use assert age >= 0 and assert age <= max_age.

4
Print confirmation message
Write a print statement that outputs the exact text: "Age is valid."
Python
Hint

Use print("Age is valid.") to show the message.

Practice

(1/5)
1. What does the assert statement do in Python?
easy
A. Prints a message when a condition is false
B. Runs a loop until a condition is true
C. Defines a function to check conditions
D. Checks if a condition is true and stops the program if false

Solution

  1. Step 1: Understand the purpose of assert

    The assert statement tests a condition and raises an error if the condition is false.
  2. Step 2: Compare options with assert behavior

    Only Checks if a condition is true and stops the program if false correctly describes assert's behavior of stopping the program when the condition is false.
  3. Final Answer:

    Checks if a condition is true and stops the program if false -> Option D
  4. Quick Check:

    Assert checks condition and stops if false [OK]
Hint: Assert stops program if condition is false [OK]
Common Mistakes:
  • Thinking assert runs loops
  • Confusing assert with print
  • Believing assert defines functions
2. Which of the following is the correct syntax for an assert statement with a message?
easy
A. assert x > 0, "x must be positive"
B. assert (x > 0) "x must be positive"
C. assert x > 0; "x must be positive"
D. assert x > 0: "x must be positive"

Solution

  1. Step 1: Recall assert syntax

    The correct syntax is assert condition, message with a comma separating condition and message.
  2. Step 2: Check each option

    Only assert x > 0, "x must be positive" uses a comma correctly between condition and message.
  3. Final Answer:

    assert x > 0, "x must be positive" -> Option A
  4. Quick Check:

    Assert syntax uses comma before message [OK]
Hint: Use comma between condition and message in assert [OK]
Common Mistakes:
  • Using colon or semicolon instead of comma
  • Missing comma before message
  • Putting message without quotes
3. What will be the output of this code?
def check_age(age):
    assert age >= 18, "Age must be at least 18"
    return "Access granted"

print(check_age(20))
print(check_age(16))
medium
A. Access granted\nAccess granted
B. Access granted\nAssertionError: Age must be at least 18
C. AssertionError: Age must be at least 18\nAccess granted
D. No output, program crashes immediately

Solution

  1. Step 1: Analyze first function call

    check_age(20) passes the assert since 20 >= 18, so it returns "Access granted" and prints it.
  2. Step 2: Analyze second function call

    check_age(16) fails the assert because 16 < 18, so it raises AssertionError with the message.
  3. Final Answer:

    Access granted\nAssertionError: Age must be at least 18 -> Option B
  4. Quick Check:

    Assert stops program on false condition with error [OK]
Hint: Assert stops at first false condition with error [OK]
Common Mistakes:
  • Thinking both print statements run
  • Ignoring the error message
  • Assuming assert prints message without error
4. Find the error in this code snippet:
assert x > 10 "x should be greater than 10"
medium
A. Missing comma between condition and message
B. Missing parentheses around condition
C. Message should be a variable, not a string
D. Assert cannot have a message

Solution

  1. Step 1: Check assert syntax

    Assert requires a comma between the condition and the message string.
  2. Step 2: Identify the error

    The code misses the comma, causing a syntax error.
  3. Final Answer:

    Missing comma between condition and message -> Option A
  4. Quick Check:

    Comma separates condition and message in assert [OK]
Hint: Always put a comma before the assert message [OK]
Common Mistakes:
  • Using colon or space instead of comma
  • Thinking parentheses are mandatory
  • Believing assert can't have messages
5. You want to check a list of numbers to ensure all are positive using assert. Which code correctly uses assert inside a loop to do this?
nums = [3, 5, -1, 7]
for n in nums:
    ?
hard
A. assert n > 0; f"Number {n} is not positive"
B. assert n > 0: f"Number {n} is not positive"
C. assert n > 0, f"Number {n} is not positive"
D. assert (n > 0), "Number n is not positive"

Solution

  1. Step 1: Understand assert in loop context

    We want to check each number and stop if any is not positive, showing which one failed.
  2. Step 2: Check syntax correctness

    assert n > 0, f"Number {n} is not positive" uses correct assert syntax with a comma and f-string for message. Others use invalid punctuation.
  3. Final Answer:

    assert n > 0, f"Number {n} is not positive" -> Option C
  4. Quick Check:

    Assert syntax: condition, message with comma [OK]
Hint: Use comma and f-string for assert message in loops [OK]
Common Mistakes:
  • Using colon or semicolon instead of comma
  • Not using f-string for variable message
  • Putting message outside assert statement