← Lesson
Probability
Joeven
Run
Reset
Python loads on first run
import random random.seed(0) outcomes = [(a, b) for a in range(1, 7) for b in range(1, 7)] event = [o for o in outcomes if o[0] + o[1] == 7] print("space", len(outcomes), "sum7", len(event), "P", len(event) / len(outcomes)) def trial(): return "H" if random.random() < 0.3 else "T" n = 5000 heads = sum(1 for _ in range(n) if trial() == "H") print("simulated P(H)", heads / n) def independent_tools(k=5, p_fail=0.1): return any(random.random() < p_fail for _ in range(k)) def shared_outage(k=5, p_outage=0.1): if random.random() < p_outage: return True return False n = 3000 p_ind = sum(independent_tools() for _ in range(n)) / n p_share = sum(shared_outage() for _ in range(n)) / n print("P(any of 5 fail), independent", round(p_ind, 3)) print("P(all fail via shared outage)", round(p_share, 3))
Run to execute this in your browser. Nothing is sent to a server.