diff --git a/dice_stats.py b/dice_stats.py index 83a99cb..b0e7edb 100644 --- a/dice_stats.py +++ b/dice_stats.py @@ -19,6 +19,22 @@ class FiveDice: return False return True + def is_three_of_a_kind(self): + faces = self.faces() + for self in self.faces(): + for count in range (1, 7): + if faces.count(count) >= 3: + return True + return False + + def is_four_of_a_kind(self): + faces = self.faces() + for self in self.faces(): + for count in range(1, 7): + if faces.count(count) >= 4: + return True + return False + dice = FiveDice() successes = 0 trials = 1000000 @@ -26,6 +42,21 @@ for trial in tqdm(range(trials)): dice.roll() if dice.all_ones(): successes += 1 +print(successes/trials) + +successes_three_of_a_kind = 0 +for trial in tqdm(range(trials)): + dice.roll() + if dice.is_three_of_a_kind(): + successes_three_of_a_kind += 1 +print("Odds of three of a kind", successes_three_of_a_kind / trials) + +successes_four_of_a_kind = 0 +for trial in tqdm(range(trials)): + dice.roll() + if dice.is_four_of_a_kind(): + successes_four_of_a_kind += 1 +print("Odds of four of a kind", successes_four_of_a_kind / trials) print(successes/trials)