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)
✗ Incorrect
random.randint(a, b) returns an integer between a and b, including both.
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
✗ Incorrect
random.choice() picks one random item from a list or other sequence.
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()
✗ Incorrect
Setting random.seed() with a fixed number makes the random output the same every time.
Which function returns a random float between 0.0 and 1.0?
Arandom.random()
Brandom.uniform()
Crandom.randint()
Drandom.choice()
✗ Incorrect
random.random() returns a float from 0.0 up to but not including 1.0.
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
✗ Incorrect
random.shuffle() changes the order of items in the list randomly without creating a new list.
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
Step 1: Understand the function purpose
random.randint(a, b) generates a random integer between two given numbers a and b, inclusive.
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.
Final Answer:
Returns a random integer N such that a ≤ N ≤ b -> Option B
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
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.
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.
Final Answer:
import random; random.choice(items) -> Option A
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
Step 1: Understand random.shuffle behavior
random.shuffle rearranges the list elements in place randomly. It does not return a new list.
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.
Final Answer:
A randomly shuffled list of the original items -> Option D
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
Step 1: Check random.choice function signature
random.choice takes exactly one argument: a sequence (like a list). It returns one random element.
Step 2: Identify the error cause
The code passes two arguments (items and 1), which is invalid and causes a TypeError.
Final Answer:
random.choice does not take two arguments -> Option C
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))
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}.
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.
Final Answer:
import random
result = {i: random.randint(10, 20) for i in range(1, 6)} -> Option A
Quick Check:
Correct dict comprehension with randint [OK]
Hint: Use dict comprehension with randint for random values [OK]