# Unfair Dice

Python Puzzles

Back to the Python! homepage

You have two dice; one is fair and the other unfair. The unfair dice rolls a 6 50% of the time.

What is the probability of choosing the unfair dice if you randomly choose a dice and roll a 6?

You can use Bayes theorem to provide a mathematical proof.

• The probability of the dice being unfair is 75%.
• The probability of the dice being fair is 25%.
```import random

# initialize variables to count the number of times each dice is selected
unfair_dice = 0
fair_dice = 0

# initialize an empty list to hold the results
list = []

# simulate 10,000 rolls of a dice
for _ in range(10_000):

# randomly choose a dice, either 1 or 2
dice = random.randrange(1,3);

# dice 1 is unfair
if dice == 1:
# Probability of rolling a 6 is 50%
diceroll = random.randrange(5,7)
if diceroll == 6: list.append(dice)

# dice 2 is fair
if dice == 2:
diceroll = random.randrange(1,7)
if diceroll == 6: list.append(dice)

# determine the proportion of rolls for each dice
for x in list:
if x == 1:
unfair_dice = unfair_dice + 1
else:
fair_dice = fair_dice + 1

# print the probabilities of each dice being selected
print('The probability of the dice being fair is ' + '{0:.1%}'.format(fair_dice/len(list)))
print('The probability of the dice being unfair is ' + '{0:.1%}'.format(unfair_dice/len(list)))
```