Bird
Raised Fist0
NumPydata~20 mins

np.arange() for range arrays in NumPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
np.arange() Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of np.arange() with float step
What is the output of this code snippet using np.arange()?
NumPy
import numpy as np
result = np.arange(1.0, 2.0, 0.3)
print(result)
A[1. 1.3 1.6 1.9 2.2]
B[1. 1.3 1.6]
C[1. 1.3 1.6 1.9]
D[1. 1.3 1.6 1.9 2.0]
Attempts:
2 left
💡 Hint
Remember that np.arange stops before reaching the stop value.
❓ data_output
intermediate
1:30remaining
Length of array from np.arange() with negative step
How many elements are in the array created by this code?
NumPy
import numpy as np
arr = np.arange(5, 0, -1)
print(len(arr))
A5
B4
C6
D0
Attempts:
2 left
💡 Hint
Count numbers from 5 down to but not including 0, stepping by -1.
❓ Predict Output
advanced
2:00remaining
Output of np.arange() with integer step and float start
What is the output of this code?
NumPy
import numpy as np
result = np.arange(0.5, 5, 1)
print(result)
A[0.5 1.5 2.5 3.5 4.5]
B[0.5 1.5 2.5 3.5]
C[1.5 2.5 3.5 4.5]
D[0.5 1.5 2.5 3.5 4.5 5.5]
Attempts:
2 left
💡 Hint
np.arange includes start and increments by step until reaching or passing stop.
❓ visualization
advanced
2:30remaining
Plotting np.arange() output
Which plot correctly shows the points generated by np.arange(0, 3, 0.5)?
NumPy
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 3, 0.5)
plt.scatter(x, [1]*len(x))
plt.xticks(x)
plt.yticks([])
plt.show()
APoints at 0, 0.25, 0.5, 0.75, 1 on x-axis
BPoints at 0, 1, 2, 3 on x-axis
CPoints at 0.5, 1, 1.5, 2, 2.5, 3 on x-axis
DPoints at 0, 0.5, 1, 1.5, 2, 2.5 on x-axis
Attempts:
2 left
💡 Hint
Check the start, stop, and step values carefully.
🧠 Conceptual
expert
2:00remaining
Why might np.arange() produce unexpected results with floats?
Why can np.arange() sometimes produce arrays with unexpected last elements when using float steps?
ABecause np.arange() always rounds the stop value to the nearest integer
BBecause floating point arithmetic can cause rounding errors affecting the stop condition
CBecause np.arange() converts all floats to integers internally
DBecause np.arange() ignores the step value when it is a float
Attempts:
2 left
💡 Hint
Think about how computers store decimal numbers.

Practice

(1/5)
1. What does np.arange(3) produce?
easy
A. [0, 1, 2]
B. [1, 2, 3]
C. [0, 1, 2, 3]
D. [3]

Solution

  1. Step 1: Understand default start value

    If only one number is given, np.arange starts from 0 by default.
  2. Step 2: Identify stop value exclusion

    The stop value 3 is excluded, so the array includes 0, 1, 2.
  3. Final Answer:

    [0, 1, 2] -> Option A
  4. Quick Check:

    Start=0, stop=3 excluded, so [0,1,2] [OK]
Hint: Remember: stop value is NOT included in output [OK]
Common Mistakes:
  • Including the stop value in the array
  • Starting from 1 instead of 0
  • Confusing step with stop
2. Which of these is the correct syntax to create an array from 2 to 6 (excluding 6) with step 1 using np.arange()?
easy
A. np.arange(6, 2, 1)
B. np.arange(2, 6, 0)
C. np.arange(2, 7)
D. np.arange(2, 6, 1)

Solution

  1. Step 1: Check start, stop, and step order

    Start should be less than stop for positive step; step cannot be zero.
  2. Step 2: Validate each option

    np.arange(2, 6, 1) uses start=2, stop=6, step=1 correctly. np.arange(6, 2, 1) reverses start and stop. np.arange(2, 7) sets stop=7, producing [2 3 4 5 6] which includes 6. np.arange(2, 6, 0) has step=0 which is invalid.
  3. Final Answer:

    np.arange(2, 6, 1) -> Option D
  4. Quick Check:

    Start=2, stop=6, step=1 is correct syntax [OK]
Hint: Step must not be zero; start < stop for positive step [OK]
Common Mistakes:
  • Using zero as step value
  • Reversing start and stop values
  • Using wrong stop value
3. What is the output of this code?
import numpy as np
arr = np.arange(1, 10, 3)
print(arr)
medium
A. [1 4 7]
B. [1 3 6 9]
C. [1 2 3 4 5 6 7 8 9]
D. [3 6 9]

Solution

  1. Step 1: Understand parameters of np.arange

    Start=1, stop=10 (excluded), step=3 means numbers start at 1 and increase by 3 until less than 10.
  2. Step 2: Calculate values

    Values are 1, 4 (1+3), 7 (4+3). Next would be 10 which is excluded.
  3. Final Answer:

    [1 4 7] -> Option A
  4. Quick Check:

    Start=1, step=3, stop=10 excluded gives [1,4,7] [OK]
Hint: Add step repeatedly until reaching stop (excluded) [OK]
Common Mistakes:
  • Including stop value 10
  • Adding step incorrectly
  • Confusing step with stop
4. What is wrong with this code?
import numpy as np
arr = np.arange(5, 2, 1)
print(arr)
medium
A. It raises a ValueError
B. It produces an empty array
C. It produces [5, 4, 3]
D. It produces [2, 3, 4, 5]

Solution

  1. Step 1: Analyze start, stop, and step values

    Start=5, stop=2, step=1 means counting up from 5 to less than 2, which is impossible.
  2. Step 2: Understand np.arange behavior

    Since step is positive but start > stop, no values satisfy condition, so result is empty array.
  3. Final Answer:

    It produces an empty array -> Option B
  4. Quick Check:

    Positive step with start > stop gives empty array [OK]
Hint: Positive step needs start < stop to produce values [OK]
Common Mistakes:
  • Expecting reversed array without negative step
  • Thinking it raises error
  • Confusing start and stop order
5. You want to create an array starting at 10, decreasing by 2, stopping before 0. Which np.arange() call is correct?
hard
A. np.arange(0, 10, -2)
B. np.arange(10, 0, 2)
C. np.arange(10, 0, -2)
D. np.arange(0, 10, 2)

Solution

  1. Step 1: Identify start, stop, and step for decreasing sequence

    Start=10, stop=0 (excluded), step must be negative to decrease.
  2. Step 2: Check each option

    np.arange(10, 0, -2) uses step=-2 correctly. np.arange(10, 0, 2) has positive step, so no values. Options C and D start at 0, which is not desired.
  3. Final Answer:

    np.arange(10, 0, -2) -> Option C
  4. Quick Check:

    Decreasing sequence needs negative step [OK]
Hint: Use negative step to count down in np.arange [OK]
Common Mistakes:
  • Using positive step for decreasing sequence
  • Swapping start and stop values
  • Starting at stop value instead of start
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