Bird
Raised Fist0
NumPydata~10 mins

Setting random seed for reproducibility in NumPy - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set the random seed to 42 using numpy.

NumPy
import numpy as np
np.random.[1](42)
Drag options to blanks, or click blank then click option'
Arand
Brandom
Cshuffle
Dseed
Attempts:
3 left
💡 Hint
Common Mistakes
Using np.random.rand(42) instead of np.random.seed(42).
Forgetting to import numpy as np.
2fill in blank
medium

Complete the code to generate a random integer between 0 and 9 after setting the seed.

NumPy
import numpy as np
np.random.seed(123)
num = np.random.[1](10)
print(num)
Drag options to blanks, or click blank then click option'
Arandint
Brandom
Crand
Dchoice
Attempts:
3 left
💡 Hint
Common Mistakes
Using np.random.rand(10) which generates floats, not integers.
Using np.random.random(10) which is incorrect syntax.
3fill in blank
hard

Fix the error in the code to set the seed correctly before generating random numbers.

NumPy
import numpy as np
np.random.[1](7)
print(np.random.rand())
Drag options to blanks, or click blank then click option'
Aseed
Brandom
Cseed_value
Dseed()
Attempts:
3 left
💡 Hint
Common Mistakes
Assigning a value to np.random.seed instead of calling it as a function.
Using np.random.seed() without an argument.
4fill in blank
hard

Fill both blanks to create a reproducible array of 5 random floats between 0 and 1.

NumPy
import numpy as np
np.random.[1](0)
arr = np.random.[2](5)
print(arr)
Drag options to blanks, or click blank then click option'
Aseed
Brand
Crandint
Drandom
Attempts:
3 left
💡 Hint
Common Mistakes
Using np.random.randint(5) which generates integers, not floats.
Not setting the seed before generating random numbers.
5fill in blank
hard

Fill all three blanks to set the seed, generate 3 random integers from 0 to 4, and print them.

NumPy
import numpy as np
np.random.[1](10)
numbers = np.random.[2](0, 5, [3])
print(numbers)
Drag options to blanks, or click blank then click option'
Aseed
Brandint
C3
Drand
Attempts:
3 left
💡 Hint
Common Mistakes
Using np.random.rand instead of randint for integers.
Forgetting to specify the size parameter.

Practice

(1/5)
1. What is the main purpose of setting a random seed in numpy?
easy
A. To increase the range of random numbers
B. To speed up random number generation
C. To generate only positive random numbers
D. To make random number results repeatable

Solution

  1. Step 1: Understand what a random seed does

    Setting a random seed fixes the starting point for random number generation.
  2. Step 2: Effect of fixed seed on results

    This means the same sequence of random numbers is produced every time the code runs.
  3. Final Answer:

    To make random number results repeatable -> Option D
  4. Quick Check:

    Random seed = repeatable results [OK]
Hint: Seed fixes randomness to get same results every run [OK]
Common Mistakes:
  • Thinking seed speeds up random generation
  • Believing seed changes number range
  • Assuming seed makes numbers positive only
2. Which of the following is the correct syntax to set a random seed to 42 in numpy?
easy
A. np.random.seed(42)
B. np.seed.random(42)
C. np.random.set_seed(42)
D. np.random.seed = 42

Solution

  1. Step 1: Recall the correct function name and usage

    The correct function to set seed in numpy is np.random.seed().
  2. Step 2: Check the argument and syntax

    The seed value is passed as an integer inside the parentheses, like np.random.seed(42).
  3. Final Answer:

    np.random.seed(42) -> Option A
  4. Quick Check:

    Correct function call = np.random.seed(42) [OK]
Hint: Use np.random.seed(number) exactly [OK]
Common Mistakes:
  • Swapping function and module names
  • Using incorrect function like set_seed
  • Assigning seed instead of calling function
3. What will be the output of the following code?
import numpy as np
np.random.seed(0)
print(np.random.randint(1, 10))
np.random.seed(0)
print(np.random.randint(1, 10))
medium
A. Different numbers both times
B. 5 followed by different number
C. 5 followed by 5
D. Error due to repeated seed setting

Solution

  1. Step 1: Understand effect of setting seed before each random call

    Setting the seed to 0 resets the random number generator to the same start point.
  2. Step 2: Predict output of np.random.randint(1, 10) after resetting seed

    Both calls produce the same random integer because the seed is reset before each call.
  3. Final Answer:

    5 followed by 5 -> Option C
  4. Quick Check:

    Same seed = same random number [OK]
Hint: Resetting seed repeats same random number [OK]
Common Mistakes:
  • Assuming different numbers after resetting seed
  • Thinking repeated seed causes error
  • Ignoring seed reset effect
4. Identify the error in this code snippet that tries to set a random seed:
import numpy as np
np.random.seed = 123
print(np.random.rand())
medium
A. Missing import statement
B. Seed is assigned instead of called as a function
C. Seed value must be a float, not integer
D. np.random.rand() is incorrect function

Solution

  1. Step 1: Check how seed is set

    The code assigns 123 to np.random.seed instead of calling it as a function.
  2. Step 2: Understand consequence of assignment

    This overwrites the seed function with an integer, causing errors on later random calls.
  3. Final Answer:

    Seed is assigned instead of called as a function -> Option B
  4. Quick Check:

    Use np.random.seed(123), not assignment [OK]
Hint: Call seed() as function, don't assign it [OK]
Common Mistakes:
  • Assigning seed instead of calling
  • Using wrong random function
  • Ignoring import statement
5. You want to generate a reproducible array of 3 random floats between 0 and 1 using numpy. Which code snippet achieves this correctly?
hard
A. np.random.seed(7) arr = np.random.rand(3) print(arr)
B. np.random.seed = 7 arr = np.random.rand(3) print(arr)
C. np.random.set_seed(7) arr = np.random.rand(3) print(arr)
D. np.random.seed(7) arr = np.random.randint(3) print(arr)

Solution

  1. Step 1: Set the random seed correctly

    Use np.random.seed(7) to fix the random sequence.
  2. Step 2: Generate 3 random floats between 0 and 1

    np.random.rand(3) creates an array of 3 floats in [0,1).
  3. Final Answer:

    np.random.seed(7) arr = np.random.rand(3) print(arr) -> Option A
  4. Quick Check:

    Correct seed + rand(3) = reproducible floats [OK]
Hint: Seed with np.random.seed(), use np.random.rand(3) [OK]
Common Mistakes:
  • Assigning seed instead of calling
  • Using non-existent set_seed function
  • Using randint instead of rand for floats