Popcorn Hack #1: Brainstorm
What do you think a random algorithm is?
A random algorithm uses chance or randomness to make decisions or select values. It doesn’t always produce the same result, making it useful for unpredictability or fair selection.
Why would you use random algorithms in real-life coding?
- Simulate real-world uncertainty (e.g., games, simulations)
- Fair selections (e.g., picking a winner or task)
- Testing software with random inputs
- Distributing tasks evenly and unpredictably
What kind of questions might College Board ask?
- Predict the output or range of outputs
- Understand randomness in pseudocode
- Difference between deterministic and random algorithms
- Effects of random selection on an algorithm’s behavior
Popcorn Hack #2: Random Activity Picker
import random
# Step 1: Define a list of activities (customize this!)
activities = ['Play basketball', 'Watch anime', 'Practice coding', 'Make a TikTok', 'Take a walk', 'Do yoga']
# Step 2: Randomly choose an activity
random_activity = random.choice(activities)
# Step 3: Display the chosen activity
print(f"Today’s random activity: {random_activity}")
Today’s random activity: Practice coding
Popcorn Hack #3: Random Party Role Assignment
import random
# Define hosts and activities
hosts = ['Johan', 'Aliyah', 'Chris', 'Zoe', 'Maya']
activities = ['music booth', 'photo booth', 'snack bar', 'game zone', 'dance floor']
# Shuffle activities randomly
random.shuffle(activities)
# Assign each host to an activity
for i in range(len(hosts)):
print(f"{hosts[i]} will be monitoring the {activities[i]}!")
Johan will be monitoring the dance floor!
Aliyah will be monitoring the snack bar!
Chris will be monitoring the music booth!
Zoe will be monitoring the game zone!
Maya will be monitoring the photo booth!
Homework Hack 1: Random Team Assignment
import random
# List of 15 students
students = [
'Ava', 'Liam', 'Olivia', 'Noah', 'Emma',
'Elijah', 'Sophia', 'Lucas', 'Isabella', 'Mason',
'Mia', 'Logan', 'Amelia', 'James', 'Harper'
]
# Team names
teams = ['Thunderbolts', 'Phoenix Flames', 'Cyber Ninjas']
# Dictionary to hold assignments
assignments = {}
# Randomly assign each student to a team
for student in students:
team = random.choice(teams)
assignments[student] = team
# Print the assignments
for student, team in assignments.items():
print(f"{student} is in team {team}")
Ava is in team Phoenix Flames
Liam is in team Thunderbolts
Olivia is in team Cyber Ninjas
Noah is in team Phoenix Flames
Emma is in team Thunderbolts
Elijah is in team Phoenix Flames
Sophia is in team Thunderbolts
Lucas is in team Thunderbolts
Isabella is in team Thunderbolts
Mason is in team Thunderbolts
Mia is in team Phoenix Flames
Logan is in team Thunderbolts
Amelia is in team Thunderbolts
James is in team Thunderbolts
Harper is in team Cyber Ninjas
Homework Hack 2: Random Weather
import random
# Weather options
weather_types = ['SUNNY my only sunshine (LEBROOOOOONNNN)', 'CLOUDY ichigo do you know how i hate the rain', 'RAINING YO TS POURING ON ME']
# Simulate weather for 7 days
for day in range(1, 8):
weather = random.choice(weather_types)
print(f"Day {day}: {weather}")
Day 1: RAINING YO TS POURING ON ME
Day 2: SUNNY my only sunshine (LEBROOOOOONNNN)
Day 3: CLOUDY ichigo do you know how i hate the rain
Day 4: CLOUDY ichigo do you know how i hate the rain
Day 5: RAINING YO TS POURING ON ME
Day 6: RAINING YO TS POURING ON ME
Day 7: RAINING YO TS POURING ON ME
Simulations
Popcorn Hack #1: Number Spinner
🎯 Objective:
Simulate a number spinner instead of rolling a dice. You can choose any range of numbers.
import random
# Choose a number range (e.g., 1 to 12)
spinner_min = 1
spinner_max = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
# Simulate the spin
spin_result = random.randint(spinner_min, spinner_max)
# Display the result
print(f"The spinner landed on: {spin_result}")
The spinner landed on: 107788288109390519889067366484598533251431137648809766825482063617969478756575848975632210975
Popcorn Hack #2: Rock, Paper, Scissors
import random
# List of possible choices
choices = ['rock', 'paper', 'scissors']
# User input
user_choice = input("Choose rock, paper, or scissors: ").lower()
# Random computer choice
computer_choice = random.choice(choices)
# Determine the result
if user_choice == computer_choice:
result = "both of u is dookie"
elif (
(user_choice == 'rock' and computer_choice == 'scissors') or
(user_choice == 'paper' and computer_choice == 'rock') or
(user_choice == 'scissors' and computer_choice == 'paper')
):
result = "crazy fr"
else:
result = "u is dog water"
# Show outcome
print(f"You chose: {user_choice}")
print(f"Computer chose: {computer_choice}")
print(result)
You chose: rock
Computer chose: paper
u is dog water
Homework Hack: Random Coffee Shop Queue
import random
# Number of customers
num_customers = 213
# Generate random service times between 1–5 minutes
service_times = [random.randint(1, 78) for _ in range(num_customers)]
# Calculate total time
total_time = sum(service_times)
# Print each customer’s wait time and total
for i, time in enumerate(service_times, start=1):
print(f"Customer {i}: {time} minutes")
print(f"\nTotal time to serve all customers: {total_time} minutes")
Customer 1: 15 minutes
Customer 2: 25 minutes
Customer 3: 60 minutes
Customer 4: 16 minutes
Customer 5: 15 minutes
Customer 6: 48 minutes
Customer 7: 15 minutes
Customer 8: 11 minutes
Customer 9: 72 minutes
Customer 10: 25 minutes
Customer 11: 10 minutes
Customer 12: 34 minutes
Customer 13: 36 minutes
Customer 14: 28 minutes
Customer 15: 11 minutes
Customer 16: 70 minutes
Customer 17: 68 minutes
Customer 18: 54 minutes
Customer 19: 1 minutes
Customer 20: 59 minutes
Customer 21: 28 minutes
Customer 22: 15 minutes
Customer 23: 67 minutes
Customer 24: 20 minutes
Customer 25: 59 minutes
Customer 26: 50 minutes
Customer 27: 6 minutes
Customer 28: 61 minutes
Customer 29: 55 minutes
Customer 30: 54 minutes
Customer 31: 59 minutes
Customer 32: 27 minutes
Customer 33: 22 minutes
Customer 34: 31 minutes
Customer 35: 45 minutes
Customer 36: 54 minutes
Customer 37: 36 minutes
Customer 38: 72 minutes
Customer 39: 45 minutes
Customer 40: 38 minutes
Customer 41: 50 minutes
Customer 42: 60 minutes
Customer 43: 59 minutes
Customer 44: 5 minutes
Customer 45: 56 minutes
Customer 46: 72 minutes
Customer 47: 16 minutes
Customer 48: 74 minutes
Customer 49: 42 minutes
Customer 50: 60 minutes
Customer 51: 64 minutes
Customer 52: 22 minutes
Customer 53: 47 minutes
Customer 54: 19 minutes
Customer 55: 35 minutes
Customer 56: 52 minutes
Customer 57: 27 minutes
Customer 58: 53 minutes
Customer 59: 4 minutes
Customer 60: 17 minutes
Customer 61: 24 minutes
Customer 62: 16 minutes
Customer 63: 48 minutes
Customer 64: 62 minutes
Customer 65: 3 minutes
Customer 66: 17 minutes
Customer 67: 53 minutes
Customer 68: 62 minutes
Customer 69: 18 minutes
Customer 70: 51 minutes
Customer 71: 38 minutes
Customer 72: 56 minutes
Customer 73: 45 minutes
Customer 74: 35 minutes
Customer 75: 62 minutes
Customer 76: 73 minutes
Customer 77: 65 minutes
Customer 78: 14 minutes
Customer 79: 44 minutes
Customer 80: 64 minutes
Customer 81: 50 minutes
Customer 82: 51 minutes
Customer 83: 34 minutes
Customer 84: 42 minutes
Customer 85: 29 minutes
Customer 86: 17 minutes
Customer 87: 42 minutes
Customer 88: 2 minutes
Customer 89: 15 minutes
Customer 90: 53 minutes
Customer 91: 58 minutes
Customer 92: 40 minutes
Customer 93: 13 minutes
Customer 94: 68 minutes
Customer 95: 63 minutes
Customer 96: 7 minutes
Customer 97: 40 minutes
Customer 98: 29 minutes
Customer 99: 33 minutes
Customer 100: 51 minutes
Customer 101: 70 minutes
Customer 102: 54 minutes
Customer 103: 51 minutes
Customer 104: 34 minutes
Customer 105: 14 minutes
Customer 106: 37 minutes
Customer 107: 54 minutes
Customer 108: 39 minutes
Customer 109: 15 minutes
Customer 110: 51 minutes
Customer 111: 57 minutes
Customer 112: 36 minutes
Customer 113: 12 minutes
Customer 114: 2 minutes
Customer 115: 6 minutes
Customer 116: 7 minutes
Customer 117: 49 minutes
Customer 118: 45 minutes
Customer 119: 56 minutes
Customer 120: 73 minutes
Customer 121: 77 minutes
Customer 122: 4 minutes
Customer 123: 34 minutes
Customer 124: 37 minutes
Customer 125: 20 minutes
Customer 126: 36 minutes
Customer 127: 2 minutes
Customer 128: 72 minutes
Customer 129: 25 minutes
Customer 130: 48 minutes
Customer 131: 4 minutes
Customer 132: 18 minutes
Customer 133: 10 minutes
Customer 134: 67 minutes
Customer 135: 5 minutes
Customer 136: 22 minutes
Customer 137: 35 minutes
Customer 138: 56 minutes
Customer 139: 68 minutes
Customer 140: 78 minutes
Customer 141: 43 minutes
Customer 142: 71 minutes
Customer 143: 19 minutes
Customer 144: 54 minutes
Customer 145: 42 minutes
Customer 146: 52 minutes
Customer 147: 69 minutes
Customer 148: 30 minutes
Customer 149: 13 minutes
Customer 150: 10 minutes
Customer 151: 5 minutes
Customer 152: 33 minutes
Customer 153: 18 minutes
Customer 154: 40 minutes
Customer 155: 53 minutes
Customer 156: 59 minutes
Customer 157: 43 minutes
Customer 158: 11 minutes
Customer 159: 40 minutes
Customer 160: 69 minutes
Customer 161: 60 minutes
Customer 162: 17 minutes
Customer 163: 72 minutes
Customer 164: 60 minutes
Customer 165: 25 minutes
Customer 166: 60 minutes
Customer 167: 37 minutes
Customer 168: 68 minutes
Customer 169: 17 minutes
Customer 170: 60 minutes
Customer 171: 59 minutes
Customer 172: 26 minutes
Customer 173: 46 minutes
Customer 174: 78 minutes
Customer 175: 47 minutes
Customer 176: 57 minutes
Customer 177: 2 minutes
Customer 178: 2 minutes
Customer 179: 44 minutes
Customer 180: 8 minutes
Customer 181: 19 minutes
Customer 182: 34 minutes
Customer 183: 16 minutes
Customer 184: 33 minutes
Customer 185: 44 minutes
Customer 186: 53 minutes
Customer 187: 49 minutes
Customer 188: 36 minutes
Customer 189: 14 minutes
Customer 190: 69 minutes
Customer 191: 70 minutes
Customer 192: 60 minutes
Customer 193: 61 minutes
Customer 194: 50 minutes
Customer 195: 19 minutes
Customer 196: 47 minutes
Customer 197: 42 minutes
Customer 198: 56 minutes
Customer 199: 73 minutes
Customer 200: 20 minutes
Customer 201: 2 minutes
Customer 202: 69 minutes
Customer 203: 11 minutes
Customer 204: 52 minutes
Customer 205: 10 minutes
Customer 206: 53 minutes
Customer 207: 64 minutes
Customer 208: 60 minutes
Customer 209: 5 minutes
Customer 210: 19 minutes
Customer 211: 7 minutes
Customer 212: 50 minutes
Customer 213: 60 minutes
Total time to serve all customers: 8364 minutes