diff --git a/dice_stats.py b/dice_stats.py index 83a99cb..6f1a7a7 100644 --- a/dice_stats.py +++ b/dice_stats.py @@ -19,15 +19,40 @@ class FiveDice: return False return True + + def is_three_of_a_kind(self): + faces = self.faces() + for value in set(faces): + if faces.count(value) >= 3: + return True + return False + + def is_four_of_a_kind(self): + faces = self.faces() + for value in set(faces): + if faces.count(value) >= 4: + return True + return False + + dice = FiveDice() successes = 0 +successes_three = 0 +successes_four = 0 + trials = 1000000 for trial in tqdm(range(trials)): dice.roll() if dice.all_ones(): successes += 1 + if dice.is_three_of_a_kind(): + successes_three += 1 + if dice.is_four_of_a_kind(): + successes_four += 1 print(successes/trials) +print("Odds of three-of-a-kind:", successes_three / trials) +print("Odds of four-of-a-kind:", successes_four / trials)