from die import Die from tqdm import tqdm class FiveDice: def __init__(self): self.dice = [Die() for number in range(5)] def roll(self): for die in self.dice: die.roll() return self.faces() def faces(self): return [die.face for die in self.dice] def all_ones(self): for face in self.faces(): if face != 1: return False return True def value_count(self): count_ones = 0 count_twos = 0 count_threes = 0 count_fours = 0 count_fives = 0 count_sixes = 0 for face in self.faces(): count_ones+=1 if face == 2: count_twos+=1 if face == 3: count_threes+=1 if face == 4: count_fours+=1 if face == 5: count_fives+=1 if face == 6: count_sixes+=1 counts= 'ones':count_ones, 'twos':count_twos, 'threes':count_threes, 'fours':count_fours, 'fives':count_fives, 'sixes':count_sixes, return counts def all_ones(self): value_count = self.value_count() if value_count['ones'] < 5: return False return True def is_three_of_a_kind(self): value_count = None value_count = self.value.count() for value in value_count.values(): if value >= 3: return True else: return False dice = FiveDice() successes = 0 trials = 1000000 for trial in tqdm(range(trials)): dice.roll() if dice.all_ones(): successes += 1 print(successes/trials)