Bird
Raised Fist0
NumPydata~20 mins

Boolean type in NumPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Boolean Type Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of Boolean Array Comparison
What is the output of this code snippet using NumPy Boolean arrays?
NumPy
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
result = arr > 3
print(result)
A[True True True False False]
B[False False False True True]
C[False False False False False]
D[True True True True True]
Attempts:
2 left
💡 Hint
Think about which numbers in the array are greater than 3.
❓ data_output
intermediate
2:00remaining
Count True Values in Boolean Array
What is the output of this code that counts True values in a NumPy Boolean array?
NumPy
import numpy as np
bool_arr = np.array([True, False, True, True, False])
count = np.sum(bool_arr)
print(count)
A5
B2
C3
D0
Attempts:
2 left
💡 Hint
Sum of Boolean True values counts how many Trues are in the array.
🔧 Debug
advanced
2:00remaining
Identify the Error in Boolean Indexing
What error does this code raise when trying to index a NumPy array with a Boolean list?
NumPy
import numpy as np
arr = np.array([10, 20, 30, 40])
index = [True, False, True]
print(arr[index])
AValueError: operands could not be broadcast together with shapes (4,) (3,)
BTypeError: list indices must be integers or slices, not bool
CNo error, prints [10 30]
DIndexError: boolean index did not match indexed array along dimension 0; dimension is 4 but corresponding boolean dimension is 3
Attempts:
2 left
💡 Hint
Check if the Boolean list length matches the array length.
❓ visualization
advanced
3:00remaining
Visualize Boolean Mask on Data
Which option shows the correct Boolean mask applied to filter values greater than 50 from this NumPy array?
NumPy
import numpy as np
import matplotlib.pyplot as plt
values = np.array([10, 55, 30, 70, 45, 90])
mask = values > 50
filtered = values[mask]
plt.bar(range(len(filtered)), filtered)
plt.show()
ABar chart with bars at heights 55, 70, 90
BBar chart with bars at heights 10, 30, 45
CBar chart with bars at heights 10, 55, 30, 70, 45, 90
DEmpty bar chart with no bars
Attempts:
2 left
💡 Hint
The mask selects values greater than 50 only.
🧠 Conceptual
expert
2:30remaining
Boolean Type Memory Usage in NumPy
Which statement correctly describes the memory usage of a NumPy array with dtype=bool compared to dtype=int8?
AA bool array uses 1 byte per element, same as int8, because NumPy stores bools as bytes.
BA bool array uses 1 bit per element, so it uses 8 times less memory than int8.
CA bool array uses variable memory depending on the values stored.
DA bool array uses 4 bytes per element, more than int8 which uses 1 byte.
Attempts:
2 left
💡 Hint
Consider how NumPy stores Boolean values internally.

Practice

(1/5)
1. What does the bool type in numpy represent?
easy
A. Values that are either True or False
B. Integer numbers only
C. Floating point numbers
D. Text strings

Solution

  1. Step 1: Understand the boolean type meaning

    The boolean type stores only two possible values: True or False.
  2. Step 2: Compare with other types

    Integer, float, and string types store numbers or text, not boolean values.
  3. Final Answer:

    Values that are either True or False -> Option A
  4. Quick Check:

    Boolean type = True/False [OK]
Hint: Boolean means True or False only [OK]
Common Mistakes:
  • Confusing boolean with integer or float
  • Thinking boolean stores text
  • Assuming boolean can store multiple values
2. Which of the following is the correct way to create a numpy boolean array?
easy
A. np.array([1, 0, 1], dtype=str)
B. np.array([True, False, True], dtype=bool)
C. np.array([True, False, True], dtype=int)
D. np.array(['True', 'False'], dtype=bool)

Solution

  1. Step 1: Check dtype for boolean array

    To create a boolean array, use dtype=bool with True/False values.
  2. Step 2: Validate options

    np.array([True, False, True], dtype=bool) uses correct dtype and values. np.array([1, 0, 1], dtype=str) uses string dtype, not boolean. np.array([True, False, True], dtype=int) uses int dtype. np.array(['True', 'False'], dtype=bool) uses strings 'True', 'False' which are not boolean values.
  3. Final Answer:

    np.array([True, False, True], dtype=bool) -> Option B
  4. Quick Check:

    Boolean array needs dtype=bool [OK]
Hint: Use dtype=bool with True/False values [OK]
Common Mistakes:
  • Using string values instead of boolean
  • Setting wrong dtype like int or str
  • Confusing True/False strings with boolean
3. What is the output of this code?
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
mask = arr > 3
print(mask)
medium
A. [3 4 5]
B. [True True True False False]
C. [False False False True True]
D. [1 1 1 0 0]

Solution

  1. Step 1: Evaluate the condition arr > 3

    For each element in arr, check if it is greater than 3: 1>3 False, 2>3 False, 3>3 False, 4>3 True, 5>3 True.
  2. Step 2: Understand the mask output

    The mask is a boolean array showing True where condition is met, False otherwise: [False False False True True].
  3. Final Answer:

    [False False False True True] -> Option C
  4. Quick Check:

    Condition mask = [False False False True True] [OK]
Hint: Compare array with condition to get boolean mask [OK]
Common Mistakes:
  • Confusing boolean mask with integer 1/0
  • Expecting filtered values instead of mask
  • Mixing up True and False positions
4. Find the error in this code snippet:
import numpy as np
arr = np.array([10, 20, 30])
mask = arr = 20
print(mask)
medium
A. print statement syntax error
B. Missing import statement for numpy
C. Array elements are not boolean
D. Using '=' instead of '==' for comparison

Solution

  1. Step 1: Identify the assignment vs comparison

    The code uses 'mask = arr = 20' which assigns 20 to arr and mask, not a comparison.
  2. Step 2: Correct the comparison operator

    To create a boolean mask, use 'mask = arr == 20' to compare each element with 20.
  3. Final Answer:

    Using '=' instead of '==' for comparison -> Option D
  4. Quick Check:

    Use '==' for comparison, '=' is assignment [OK]
Hint: Use '==' to compare, not '=' assignment [OK]
Common Mistakes:
  • Using single '=' instead of '=='
  • Confusing assignment with comparison
  • Expecting boolean mask but getting int
5. Given a numpy array data = np.array([5, 10, 15, 20, 25]), how can you use a boolean mask to select only values greater than 12 and less than 22?
hard
A. mask = (data > 12) & (data < 22); result = data[mask]
B. mask = data > 12 or data < 22; result = data[mask]
C. mask = data > 12 and data < 22; result = data[mask]
D. mask = (data > 12) | (data < 22); result = data[mask]

Solution

  1. Step 1: Create correct boolean mask with logical AND

    To select values greater than 12 and less than 22, use element-wise AND: (data > 12) & (data < 22).
  2. Step 2: Apply mask to data array

    Use the mask to index data: data[mask] returns values meeting both conditions.
  3. Final Answer:

    mask = (data > 12) & (data < 22); result = data[mask] -> Option A
  4. Quick Check:

    Use '&' for element-wise AND in numpy [OK]
Hint: Use '&' for AND, '|' for OR in numpy boolean masks [OK]
Common Mistakes:
  • Using 'and' or 'or' instead of '&' or '|'
  • Forgetting parentheses around conditions
  • Using '|' (OR) instead of '&' (AND) for both conditions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard