0
0
NumPydata~20 mins

NumPy and scientific computing ecosystem - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
NumPy Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of NumPy broadcasting with different shapes
What is the output of the following code snippet?
NumPy
import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([10, 20, 30])
result = arr1 + arr2
print(result)
A
[[11 22 33]
 [14 25 36]]
BRaises ValueError due to shape mismatch
C
[[10 20 30]
 [10 20 30]]
D
[[11 22 33]
 [14 25 36]
 [11 22 33]]
Attempts:
2 left
💡 Hint
Recall how NumPy broadcasts arrays with compatible shapes.
data_output
intermediate
2:00remaining
Shape and size of a reshaped NumPy array
Given the code below, what are the shape and size of the array 'reshaped'?
NumPy
import numpy as np

arr = np.arange(24)
reshaped = arr.reshape(2, 3, 4)
print(reshaped.shape, reshaped.size)
A(2, 3, 4) 24
B(3, 4, 2) 24
C(2, 4, 3) 12
D(24,) 24
Attempts:
2 left
💡 Hint
The reshape method changes the shape but does not change the total number of elements.
🔧 Debug
advanced
2:00remaining
Identify the error in NumPy matrix multiplication
What error will the following code raise when executed?
NumPy
import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([5, 6, 7])
C = np.dot(A, B)
print(C)
ATypeError: unsupported operand type(s) for *: 'int' and 'list'
BNo error, output: [17 39]
CIndexError: index out of bounds
DValueError: shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)
Attempts:
2 left
💡 Hint
Check the shapes of the arrays before matrix multiplication.
visualization
advanced
3:00remaining
Plotting a 2D Gaussian distribution using NumPy and Matplotlib
Which option produces a correct 2D heatmap of a Gaussian distribution centered at (0,0)?
NumPy
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
Z = np.exp(-(X**2 + Y**2))
plt.imshow(Z, extent=[-3,3,-3,3], origin='lower')
plt.colorbar()
plt.show()
ARaises NameError due to undefined variable Z
BDisplays a checkerboard pattern with random colors
CDisplays a smooth circular heatmap with highest intensity at center
DDisplays a flat image with uniform color
Attempts:
2 left
💡 Hint
The Gaussian function decreases smoothly from the center.
🧠 Conceptual
expert
2:30remaining
Understanding memory layout in NumPy arrays
Which statement about NumPy array memory layout is TRUE?
AFortran-contiguous arrays store rows sequentially, while C-contiguous arrays store columns sequentially.
BC-contiguous arrays store rows sequentially in memory, while Fortran-contiguous arrays store columns sequentially.
CNumPy arrays always store data in column-major order regardless of flags.
DMemory layout does not affect performance in NumPy operations.
Attempts:
2 left
💡 Hint
Think about how C and Fortran languages store multi-dimensional arrays.