Bird
Raised Fist0
NumPydata~10 mins

Integer random with integers() in NumPy - Step-by-Step Execution

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
Concept Flow - Integer random with integers()
Call np.random.Generator.integers(low, high, size)
↓
Generate random integers in range [low, high))
↓
Return array of random integers
↓
Use or display the random integers
The function generates random integers between low (inclusive) and high (exclusive), then returns them as an array.
Execution Sample
NumPy
import numpy as np
rng = np.random.default_rng()
rnd_ints = rng.integers(1, 5, size=4)
print(rnd_ints)
This code creates a random number generator and generates 4 random integers between 1 and 4.
Execution Table
StepActionParametersGenerated IntegersOutput
1Create random generatorNoneN/Arng object created
2Call integers()low=1, high=5, size=4[3, 1, 4, 2]Array of 4 integers between 1 and 4
3Print outputArray from step 2[3 1 4 2][3 1 4 2] printed
4EndN/AN/AExecution stops
💡 All requested integers generated and printed; program ends.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
rngNoneGenerator objectGenerator objectGenerator objectGenerator object
rnd_intsNoneNone[3, 1, 4, 2][3, 1, 4, 2][3, 1, 4, 2]
Key Moments - 2 Insights
Why are the random integers always between 1 and 4, not including 5?
The integers() function generates numbers from low (inclusive) to high (exclusive). So 5 is not included, as shown in execution_table step 2.
What does the 'size' parameter control?
The 'size' parameter controls how many random integers are generated. In step 2, size=4 means 4 integers are returned.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 2, what is the range of generated integers?
AFrom 1 to 4 inclusive
BFrom 0 to 4 inclusive
CFrom 1 to 5 inclusive
DFrom 1 to 3 inclusive
💡 Hint
Check the 'Parameters' and 'Generated Integers' columns in step 2.
According to variable_tracker, what is the value of rnd_ints after step 3?
ANone
B[3, 1, 4, 2]
CGenerator object
DAn empty array
💡 Hint
Look at the 'rnd_ints' row under 'After Step 3' in variable_tracker.
If we change size=2 in the code, how would execution_table step 2 change?
AGenerated Integers would have 4 numbers as before
BGenerated Integers would be empty
CGenerated Integers would have 2 numbers instead of 4
DThe code would error out
💡 Hint
The 'size' parameter controls how many integers are generated, see key_moments about 'size'.
Concept Snapshot
np.random.Generator.integers(low, high, size)
- Generates random integers from low (inclusive) to high (exclusive)
- 'size' sets how many integers to generate
- Returns a NumPy array of random integers
- Use default_rng() to create a generator
- Example: rng.integers(1, 5, size=4) -> 4 ints from 1 to 4
Full Transcript
This visual execution shows how to generate random integers using numpy's integers() method. First, a random number generator object is created with default_rng(). Then integers() is called with parameters low=1, high=5, and size=4. This produces 4 random integers between 1 and 4 inclusive. The generated array is stored in rnd_ints and printed. The execution table traces each step, showing the parameters and output. The variable tracker shows how rng and rnd_ints change over time. Key moments clarify why the range excludes the high value and what the size parameter does. The quiz tests understanding of the range, variable values, and effect of changing size. The snapshot summarizes usage in a quick reference format.

Practice

(1/5)
1.

What does the numpy.random.integers(low, high) function do?

easy
A. Generates random numbers only equal to low or high.
B. Generates random whole numbers from low (inclusive) to high (inclusive).
C. Generates a sequence of numbers from low to high.
D. Generates random decimal numbers between low and high.

Solution

  1. Step 1: Understand the function purpose

    numpy.random.integers(low, high) generates random integers in a range.
  2. Step 2: Check the range behavior

    The function generates from low inclusive to high inclusive (default endpoint=True).
  3. Final Answer:

    Generates random whole numbers from low (inclusive) to high (inclusive). -> Option B
  4. Quick Check:

    integers() returns [low, high] random integers [OK]
Hint: integers() generates [low, high] by default [OK]
Common Mistakes:
  • Thinking it generates decimal numbers
  • Thinking high is exclusive
  • Confusing with sequence generation
2.

Which of the following is the correct syntax to generate 5 random integers between 1 and 10 using numpy.random.integers()?

import numpy as np
# Your code here
easy
A. np.random.integers(1, 10, size=5)
B. np.random.integers(1, 10, count=5)
C. np.random.integers(low=1, high=10, count=5)
D. np.random.integers(1, 10, length=5)

Solution

  1. Step 1: Check the function parameters

    integers(low, high, size=number) generates an array of random integers.
  2. Step 2: Identify correct keyword for number of values

    The correct keyword is size, so size=5 generates 5 numbers.
  3. Final Answer:

    np.random.integers(1, 10, size=5) -> Option A
  4. Quick Check:

    Use size= for array length [OK]
Hint: Use size= to specify number of random integers [OK]
Common Mistakes:
  • Using positional third argument without size keyword
  • Using wrong keyword like count or length
  • Missing import statement
3.

What is the output of the following code?

import numpy as np
np.random.seed(0)
arr = np.random.integers(1, 5, size=4)
print(arr)
medium
A. [5 4 3 5]
B. [1 2 3 4]
C. [3 3 3 3]
D. [4 4 1 3]

Solution

  1. Step 1: Set random seed for reproducibility

    Using np.random.seed(0) fixes the random numbers generated.
  2. Step 2: Generate 4 random integers between 1 and 5 inclusive

    np.random.integers(1, 5, size=4) produces the array [4 4 1 3] with this seed.
  3. Final Answer:

    [4 4 1 3] -> Option D
  4. Quick Check:

    Seed 0 + integers(1,5,4) = [4 4 1 3] [OK]
Hint: Use seed to get repeatable random integers [OK]
Common Mistakes:
  • Ignoring seed and expecting different output
  • Confusing inclusive range with exclusive
  • Miscounting size parameter
4.

Find the error in this code snippet and choose the correct fix:

import numpy as np
arr = np.random.integers(0, 10, 5)
print(arr)
medium
A. No error; code runs correctly as is.
B. Change third argument to size=5 to specify array size.
C. Add parentheses around arguments: integers((0,10),5).
D. Replace integers with randint to fix syntax.

Solution

  1. Step 1: Check function signature

    integers(low, high, size=...) accepts size as positional or keyword argument.
  2. Step 2: Identify argument usage

    Passing 5 as positional third argument works correctly.
  3. Final Answer:

    No error; code runs correctly as is. -> Option A
  4. Quick Check:

    Positional size argument works [OK]
Hint: size can be positional or keyword in integers() [OK]
Common Mistakes:
  • Confusing integers() with randint()
  • Using wrong keyword like count or length
  • Assuming positional size causes error
5.

You want to generate a 2x3 array of random integers from 10 to 20 using numpy.random.integers() and then filter to keep only even numbers. Which code correctly does this?

hard
A. arr = np.random.integers(5, 10, size=(2,3)) * 2
B. arr = np.random.integers(10, 20, size=(2,3)); arr = arr * 2
C. arr = np.random.integers(10, 20, size=(2,3)); arr = arr[arr % 2 == 0]
D. arr = np.random.integers(10, 20, size=(2,3)); arr = arr[arr % 2 != 0]

Solution

  1. Step 1: Generate 2x3 array of integers 10 to 20

    Use np.random.integers(10, 20, size=(2,3)) to get random integers in the range.
  2. Step 2: Filter only even numbers

    Use boolean indexing arr[arr % 2 == 0] to keep even numbers only.
  3. Final Answer:

    arr = np.random.integers(10, 20, size=(2,3)); arr = arr[arr % 2 == 0] -> Option C
  4. Quick Check:

    Filter with modulo 2 equals zero for evens [OK]
Hint: Filter with arr % 2 == 0 to keep even numbers [OK]
Common Mistakes:
  • Multiplying random numbers instead of filtering
  • Filtering odd numbers by mistake
  • Using wrong range for even numbers