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
Recall & Review
beginner
What is a ValueError in Python?
A ValueError happens when a function receives an argument of the right type but an inappropriate value. For example, trying to convert a letter to an integer.
Click to reveal answer
beginner
Explain TypeError with an example.
A TypeError occurs when an operation or function is applied to an object of an inappropriate type. For example, adding a number and a string together.
Click to reveal answer
beginner
What does IndexError mean?
IndexError happens when you try to access an index that is outside the range of a list or other sequence.
Click to reveal answer
beginner
Describe KeyError in Python dictionaries.
KeyError occurs when you try to access a dictionary key that does not exist.
Click to reveal answer
beginner
What is a ZeroDivisionError?
A ZeroDivisionError happens when you try to divide a number by zero, which is not allowed in math.
Click to reveal answer
Which exception is raised when you try to access a list element with an invalid index?
AIndexError
BKeyError
CTypeError
DValueError
✗ Incorrect
Accessing an invalid index in a list raises an IndexError.
What exception occurs when you try to add a number and a string?
AValueError
BTypeError
CZeroDivisionError
DKeyError
✗ Incorrect
Adding incompatible types like number and string causes a TypeError.
If you try to get a dictionary value using a key that does not exist, which exception is raised?
ATypeError
BIndexError
CValueError
DKeyError
✗ Incorrect
Accessing a missing key in a dictionary raises a KeyError.
Which exception is raised when you try to convert the string 'abc' to an integer?
AValueError
BTypeError
CZeroDivisionError
DKeyError
✗ Incorrect
Trying to convert a non-numeric string to int raises a ValueError.
What exception occurs when dividing a number by zero?
AValueError
BTypeError
CZeroDivisionError
DIndexError
✗ Incorrect
Dividing by zero raises a ZeroDivisionError.
List and explain three common Python exceptions you might encounter when working with lists and dictionaries.
Think about accessing elements and types.
You got /4 concepts.
Describe what causes a ValueError and a ZeroDivisionError in Python with simple examples.
Consider wrong values and division by zero.
You got /3 concepts.
Practice
(1/5)
1. Which exception is raised when you try to divide a number by zero in Python?
easy
A. ValueError
B. ZeroDivisionError
C. IndexError
D. TypeError
Solution
Step 1: Understand division by zero
Dividing any number by zero is mathematically undefined and causes an error in Python.
Step 2: Identify the exception type
Python raises a ZeroDivisionError when division by zero occurs.
Final Answer:
ZeroDivisionError -> Option B
Quick Check:
Division by zero = ZeroDivisionError [OK]
Hint: Division by zero always raises ZeroDivisionError [OK]
Common Mistakes:
Confusing ZeroDivisionError with ValueError
Thinking IndexError occurs for division
Assuming TypeError is raised for zero division
2. Which of the following code snippets will raise a ValueError?
easy
A. open('file.txt')
B. 5 / 0
C. my_list[10] where my_list has 5 elements
D. int('abc')
Solution
Step 1: Analyze each option for ValueError
int('abc') tries to convert a non-numeric string to int, which causes ValueError.
Step 2: Check other options for different exceptions
5 / 0 causes ZeroDivisionError, C causes IndexError, A may cause FileNotFoundError.
Final Answer:
int('abc') -> Option D
Quick Check:
Invalid int conversion = ValueError [OK]
Hint: ValueError occurs when conversion or value is invalid [OK]
Common Mistakes:
Confusing ZeroDivisionError with ValueError
Assuming file open errors cause ValueError
Mixing IndexError with ValueError
3. What will be the output of this code?
my_list = [1, 2, 3]
print(my_list[3])
medium
A. IndexError
B. 3
C. None
D. ValueError
Solution
Step 1: Understand list indexing
List indices start at 0, so valid indices for my_list are 0, 1, 2.
Step 2: Accessing index 3
Index 3 is out of range, so Python raises an IndexError.
Final Answer:
IndexError -> Option A
Quick Check:
Out of range index = IndexError [OK]
Hint: Accessing invalid list index raises IndexError [OK]
Common Mistakes:
Thinking it returns last element
Assuming None is returned for invalid index
Confusing IndexError with ValueError
4. Identify the error in this code snippet:
try:
x = int('hello')
except ZeroDivisionError:
print('Cannot divide by zero')
medium
A. Wrong exception caught, should catch ValueError
B. SyntaxError due to missing colon
C. No error, code runs fine
D. ZeroDivisionError will be raised
Solution
Step 1: Analyze the try block
int('hello') raises ValueError because 'hello' cannot convert to int.
Step 2: Check except block
Except block catches ZeroDivisionError, which does not handle ValueError, so error is uncaught.
Final Answer:
Wrong exception caught, should catch ValueError -> Option A
Quick Check:
Exception type mismatch = catch correct exception [OK]
Hint: Catch the exact exception your code may raise [OK]
Common Mistakes:
Catching wrong exception type
Assuming code runs without error
Confusing syntax errors with exception handling
5. You want to safely convert user input to an integer and print it. Which code correctly handles invalid input without crashing?
hard
A. try:
num = int(input())
except ZeroDivisionError:
print('Invalid number')
B. num = int(input())
print(num)
C. try:
num = int(input())
except ValueError:
print('Invalid number')
D. num = input()
print(int(num))
Solution
Step 1: Understand input conversion risks
User input may not be a valid integer, causing ValueError on conversion.
Step 2: Check exception handling
try:
num = int(input())
except ValueError:
print('Invalid number') uses try-except to catch ValueError and print a message, preventing crash.
Final Answer:
try-except catching ValueError with message -> Option C
Quick Check:
Handle invalid input with ValueError catch [OK]
Hint: Use try-except to catch ValueError on int conversion [OK]
Common Mistakes:
Not catching exceptions causing program crash
Catching wrong exception type like ZeroDivisionError