Coding Grandmaster ยท project 24 of 46 ยท premium, free for now
How computers fake randomness
Write next_value(seed) with that formula, and roll(seed) = 1 + seed % 6. Starting from the given seed, roll 600 times (feeding each result back in) and print how many times each face 1 to 6 came up.
Learn
A computer cannot flip a coin. It runs a formula that scrambles a number into the next one, giving a stream that looks random but is completely determined by the starting seed. A linear congruential generator does it with next = (seed ร 1103515245 + 12345) mod 2^31. Use the same seed and you get the same stream, which is exactly what makes simulations repeatable.
Your task
Write next_value(seed) with that formula, and roll(seed) = 1 + seed % 6. Starting from the given seed, roll 600 times (feeding each result back in) and print how many times each face 1 to 6 came up.
Stretch challenge
Estimate pi by dropping random points in a square with this generator.
Press Run to see what your program prints.
More in this module
Keep going in Coding Grandmaster
Counting outcomes
Write ways(target), the number of dice pairs that add up to target, and as_fraction(top, bottom) that returns text like 1/6 in lowest terms. Print the chance of a total of 7.
Start โ20The OR rule
Build the 52-card deck as (rank, suit) pairs, then count the cards that are the chosen suit, the chosen rank, both, and either. Print the four counts and the chance of either as a fraction in lowest terms.
Start โ21Given thatโฆ
For the chosen club print how many students are in it, how many passed, and P(passed | club) as a percentage with one decimal place. Then print P(passed) for all students.
Start โ22Bayes and the medical test
Write posterior(prior, sensitivity, specificity) returning P(sick | positive) rounded to 4 decimal places. Print it for prior 0.01, sensitivity 0.9, specificity 0.9.
Start โ23The binomial distribution
Write binomial(n, k, p) and use it to print the chance of exactly 3 heads in 5 fair flips, the chance of at least 4 heads, and the total of all the chances (rounded to 6 places).
Start โPractise the idea
๐ Play Orbit Slingshot
Launch a probe through real gravity. Curve around planets, moons and black holes to reach the portal.
FAQ
How computers fake randomness: common questions
I am stuck. What can I do?
Press Hint for a nudge, read the message next to each goal, and compare your code with the lesson text. If you still need it, Show answer reveals a model solution. Try to type it yourself rather than copy it.
Does my work get saved?
Your ticks and XP are saved in this browser, and in your account if you log in. The code you type is not stored on a server.
Start a conversation
Enjoying coding? Meet a teacher.
Tell us the learner's age, country and what they would like to build, and we will suggest a class. A parent or guardian can make the enquiry.
- Tell us the learnerโs age or grade and goals
- Weโll suggest a suitable class or learning path
- Weโll confirm format, timing and fees with a parent or guardian
Play it, don't just read it
Write some code right now
Free games that need no sign-up. Pick one and play for five minutes.
Pick a game
- Predict the OutputRead a short Python program and choose what it prints. Then watch it runโฆPlay
- Code BuilderThe lines of a Python program are mixed up. Tap them into the rightโฆPlay
- Bug HunterA Python program prints the wrong answer. Find the one line with theโฆPlay
- Code JungleWrite real Python to guide Miko the monkey to every banana. 24 levels:โฆPlay