This program rolls a dice 5 times and prints each result.
Python
import random
# Simulate rolling a dice 5 timesfor i inrange(5):
dice_roll = random.randint(1, 6)
print(f"Roll {i + 1}: {dice_roll}")
OutputSuccess
Important Notes
Random numbers are not truly random but are good enough for most uses.
Use random.seed() to get repeatable results for testing.
Functions like random.random() give a random float between 0 and 1.
Summary
Random data generation creates unpredictable values for many uses.
Use the random module and its functions like randint, choice, and shuffle.
It is helpful for games, testing, and simulations.
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]
Common Mistakes:
Swapping keys and values
Using dict() on generator of ints
Using choice with range(10,20) excludes 20
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.