Bird
Raised Fist0
Pythonprogramming~5 mins

Random data generation in Python - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is the purpose of the random module in Python?
The random module helps generate random numbers and select random items, useful for simulations, games, and testing.
Click to reveal answer
beginner
How do you generate a random integer between 1 and 10 inclusive in Python?
Use random.randint(1, 10). It returns a random integer including both 1 and 10.
Click to reveal answer
beginner
What function would you use to pick a random element from a list?
Use random.choice(your_list) to select one random item from the list.
Click to reveal answer
intermediate
Explain the difference between random.random() and random.uniform(a, b).
random.random() returns a float between 0.0 and 1.0 (including 0.0 but excluding 1.0). random.uniform(a, b) returns a float between a and b, including decimals.
Click to reveal answer
intermediate
Why might you use random.seed() in your program?
To make random results repeatable for testing or debugging by setting a starting point for the random number generator.
Click to reveal answer
Which function generates a random integer between two numbers inclusive?
Arandom.choice(list)
Brandom.random()
Crandom.uniform(a, b)
Drandom.randint(a, b)
What does random.choice() do?
AReturns a random float between 0 and 1
BSelects a random element from a sequence
CGenerates a random integer
DShuffles a list in place
How can you make random results repeatable in Python?
AUse random.randint()
BUse random.shuffle()
CUse random.seed() with a fixed number
DUse random.choice()
Which function returns a random float between 0.0 and 1.0?
Arandom.random()
Brandom.uniform()
Crandom.randint()
Drandom.choice()
What does random.shuffle() do to a list?
ARandomly rearranges the list items in place
BReturns a new sorted list
CSelects a random item
DGenerates a random integer
Describe how to generate a random integer and a random float in Python using the random module.
Think about functions for integers and floats separately.
You got /4 concepts.
    Explain why and how you would use random.seed() in your code.
    Consider when you want the same random output every time.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the random.randint(a, b) function do in Python?
      easy
      A. Returns a random float between a and b
      B. Returns a random integer N such that a ≤ N ≤ b
      C. Returns a random element from a list
      D. Shuffles the elements of a list in place

      Solution

      1. Step 1: Understand the function purpose

        random.randint(a, b) generates a random integer between two given numbers a and b, inclusive.
      2. Step 2: Compare options with function behavior

        Returns a random integer N such that a ≤ N ≤ b correctly describes this behavior. Options A, C, and D describe other functions like random.uniform, random.choice, and random.shuffle.
      3. Final Answer:

        Returns a random integer N such that a ≤ N ≤ b -> Option B
      4. Quick Check:

        random.randint = random integer in range [OK]
      Hint: randint returns integers between two numbers inclusive [OK]
      Common Mistakes:
      • Confusing randint with random float functions
      • Thinking randint returns a list element
      • Mixing up randint with shuffle
      2. Which of the following is the correct way to import the random module and use choice to pick a random element from a list items?
      easy
      A. import random; random.choice(items)
      B. from random import randint; choice(items)
      C. import random.choice; choice(items)
      D. import random; random.randint(items)

      Solution

      1. Step 1: Check import syntax

        To use choice, you must import the random module fully or import choice specifically. import random; random.choice(items) imports the module correctly.
      2. Step 2: Verify function usage

        import random; random.choice(items) calls random.choice(items), which is correct. from random import randint; choice(items) imports randint but tries to call choice without import. import random.choice; choice(items) has invalid import syntax. import random; random.randint(items) calls randint with a list, which is incorrect.
      3. Final Answer:

        import random; random.choice(items) -> Option A
      4. Quick Check:

        Correct import and call = import random; random.choice(items) [OK]
      Hint: Import random module fully to use choice function [OK]
      Common Mistakes:
      • Importing wrong functions
      • Calling functions without module prefix
      • Using randint instead of choice
      3. What is the output of this code?
      import random
      items = ['apple', 'banana', 'cherry']
      random.shuffle(items)
      print(items)
      medium
      A. SyntaxError because shuffle returns a new list
      B. ['apple', 'banana', 'cherry'] (always same order)
      C. A new list with one random item from items
      D. A randomly shuffled list of the original items

      Solution

      1. Step 1: Understand random.shuffle behavior

        random.shuffle rearranges the list elements in place randomly. It does not return a new list.
      2. Step 2: Analyze the print output

        After shuffling, printing items shows the same list but with elements in random order. So output is a shuffled list, not the original order or a single item.
      3. Final Answer:

        A randomly shuffled list of the original items -> Option D
      4. Quick Check:

        shuffle changes list order in place [OK]
      Hint: shuffle changes list order in place, no new list returned [OK]
      Common Mistakes:
      • Expecting shuffle to return a new list
      • Thinking shuffle picks one random item
      • Assuming list order stays same
      4. The following code tries to pick a random element from a list but causes an error. What is the problem?
      import random
      items = ['red', 'green', 'blue']
      print(random.choice(items, 1))
      medium
      A. random.choice needs the list to be converted to a tuple
      B. random.choice requires the list to be sorted first
      C. random.choice does not take two arguments
      D. random.choice only works with strings, not lists

      Solution

      1. Step 1: Check random.choice function signature

        random.choice takes exactly one argument: a sequence (like a list). It returns one random element.
      2. Step 2: Identify the error cause

        The code passes two arguments (items and 1), which is invalid and causes a TypeError.
      3. Final Answer:

        random.choice does not take two arguments -> Option C
      4. Quick Check:

        choice takes one argument only [OK]
      Hint: choice takes only one argument: the sequence [OK]
      Common Mistakes:
      • Passing extra arguments to choice
      • Thinking choice returns multiple items
      • Confusing choice with sample
      5. You want to generate a dictionary where keys are numbers from 1 to 5 and values are random integers between 10 and 20. Which code correctly does this?
      hard
      A. import random result = {i: random.randint(10, 20) for i in range(1, 6)}
      B. import random result = {random.randint(10, 20): i for i in range(1, 6)}
      C. import random result = {i: random.choice(range(10, 20)) for i in range(1, 6)}
      D. import random result = dict(random.randint(10, 20) for i in range(1, 6))

      Solution

      1. Step 1: Understand dictionary comprehension syntax

        We want keys as numbers 1 to 5 and values as random integers between 10 and 20. The syntax is {key: value for key in iterable}.
      2. Step 2: Check each option

        import random result = {i: random.randint(10, 20) for i in range(1, 6)} correctly uses i as key and random.randint(10, 20) as value for each i in 1 to 5.
        import random result = {random.randint(10, 20): i for i in range(1, 6)} swaps keys and values incorrectly.
        import random result = {i: random.choice(range(10, 20)) for i in range(1, 6)} uses random.choice(range(10, 20)) which produces integers 10-19 excluding 20, unlike randint(10,20).
        import random result = dict(random.randint(10, 20) for i in range(1, 6)) tries to convert a generator of integers to dict, which causes an error.
      3. Final Answer:

        import random result = {i: random.randint(10, 20) for i in range(1, 6)} -> Option A
      4. Quick Check:

        Correct dict comprehension with randint [OK]
      Hint: Use dict comprehension with randint for random values [OK]
      Common Mistakes:
      • Swapping keys and values
      • Using dict() on generator of ints
      • Using choice with range(10,20) excludes 20