Coding Grandmaster ยท project 23 of 46 ยท premium, free for now
The 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).
Learn
Flip a coin 5 times: what is the chance of exactly 3 heads? There are comb(5, 3) = 10 ways to choose which flips are heads, and each such sequence has probability pยณ ร (1 โ p)ยฒ. So P(k) = comb(n, k) ร p^k ร (1 โ p)^(n โ k). Adding P(k) for every k from 0 to n gives 1, because something must happen. The long-run average is n ร p.
Your task
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).
Stretch challenge
Find the expected number of heads in 100 flips and the chance of exactly 50.
โ Bayes and the medical testHow computers fake randomness โ
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 โ24How 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.
Start โPractise the idea
๐ฏ Play Plinko Probability Lab
Drop balls through a peg board and see how gravity and chance shape the results.
FAQ
The binomial distribution: 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
- Code BuilderThe lines of a Python program are mixed up. Tap them into the rightโฆPlay
- Predict the OutputRead a short Python program and choose what it prints. Then watch it runโฆ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