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
Step 1: Understand the purpose of assert
The assert statement tests a condition and raises an error if the condition is false.
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.
Final Answer:
Checks if a condition is true and stops the program if false -> Option D
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
Step 1: Recall assert syntax
The correct syntax is assert condition, message with a comma separating condition and message.
Step 2: Check each option
Only assert x > 0, "x must be positive" uses a comma correctly between condition and message.
Final Answer:
assert x > 0, "x must be positive" -> Option A
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
Step 1: Analyze first function call
check_age(20) passes the assert since 20 >= 18, so it returns "Access granted" and prints it.
Step 2: Analyze second function call
check_age(16) fails the assert because 16 < 18, so it raises AssertionError with the message.
Final Answer:
Access granted\nAssertionError: Age must be at least 18 -> Option B
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
Step 1: Check assert syntax
Assert requires a comma between the condition and the message string.
Step 2: Identify the error
The code misses the comma, causing a syntax error.
Final Answer:
Missing comma between condition and message -> Option A
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
Step 1: Understand assert in loop context
We want to check each number and stop if any is not positive, showing which one failed.
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.
Final Answer:
assert n > 0, f"Number {n} is not positive" -> Option C
Quick Check:
Assert syntax: condition, message with comma [OK]
Hint: Use comma and f-string for assert message in loops [OK]