In [1]:
import random
In [2]:
win = 0
for i in range(0,999):
winning_door = random.randint(1,3)
door_picked = random.randint(1,3)
if door_picked == winning_door:
win = win + 1
print("Won {} times out of 1000".format(win))
print("Probability: {}".format(win/1000.0))
Out[2]:
In [3]:
doors = [1,2,3]
correct_door = random.randint(1,3)
correct_door
Out[3]:
In [4]:
initial_pick = random.randint(1,3)
print("Initial pick: {}".format(initial_pick))
remaining_doors = [door for door in [1,2,3] if door != initial_pick]
print("Remaining doors: {}".format(remaining_doors))
Out[4]:
In [5]:
if initial_pick == correct_door:
revealed_door = random.choice(remaining_doors)
remaining_doors = [door for door in remaining_doors if door != revealed_door]
remaining_door = remaining_doors[0]
print('''Door: {revealed_door} is not the correct door
You can choose door {remaining_door} now'''
.format(revealed_door=revealed_door, remaining_door=remaining_door))
else:
remaining_doors = [door for door in remaining_doors if door != correct_door]
revealed_door = remaining_doors[0]
remaining_door = correct_door
print('''Door: {revealed_door} is not the correct one
You can choose door {remaining_door} now'''
.format(revealed_door=revealed_door, remaining_door=remaining_door))
Out[5]:
In [6]:
win_original = (initial_pick == correct_door)
win_original
Out[6]:
In [7]:
win_switch = (remaining_door == correct_door)
win_switch
Out[7]:
In [8]:
def monty_hall_solution_simulator():
correct_door = random.randint(1,3)
initial_pick = random.randint(1,3)
remaining_doors = [door for door in [1,2,3] if door != initial_pick]
if initial_pick == correct_door:
revealed_door = random.choice(remaining_doors)
remaining_doors = [door for door in remaining_doors if door != revealed_door]
remaining_door = remaining_doors[0]
else:
remaining_doors = [door for door in remaining_doors if door != correct_door]
revealed_door = remaining_doors[0]
remaining_door = correct_door
win_original = (initial_pick == correct_door)
win_switch = (remaining_door == correct_door)
return [win_original,win_switch]
In [9]:
count_win_original = 0
count_win_switch = 0
for i in range(0,1000):
win_list = monty_hall_solution_simulator()
if win_list[0]:
count_win_original = count_win_original +1
else:
count_win_switch = count_win_switch +1
print("Probability of winning if you keep your original choice: {}".format(count_win_original/1000.0))
print("Probability of winning if you switch: {}".format(count_win_switch/1000.0))
Out[9]:
Comments
Post a Comment