.:: Monty Hall Paradox Simulator ::.
Python Monty Hall Simulator
This is a Pytohn program that simulates the famous Monty Hall Paradox.
You are on a game show. There are three doors. Behind two of them are two goats, and behind one of the doors is a car. You are to choose one door. Then the host opens one of the two other doors which has a goat behind it. You are then supposed to either open the first door that you selected, or you can open the 3rd remaining door.
Turns out that changing your choice will increase the probability of you selecting the car vs staying with the door you selected first.
RESULTS
TRIAL #1 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #2 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #3 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #4 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #5 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #6 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #7 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #8 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #9 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #10 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #11 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #12 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #13 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #14 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #15 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #16 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #17 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #18 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #19 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #20 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #21 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #22 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #23 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #24 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #25 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #26 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #27 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #28 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #29 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #30 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #31 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #32 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #33 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #34 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #35 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #36 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #37 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #38 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #39 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #40 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #41 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #42 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #43 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #44 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #45 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #46 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #47 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #48 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #49 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #50 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #51 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #52 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #53 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #54 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #55 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #56 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #57 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #58 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #59 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #60 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #61 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #62 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #63 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #64 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #65 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #66 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #67 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #68 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #69 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #70 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #71 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #72 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #73 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #74 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #75 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #76 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #77 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #78 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #79 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #80 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #81 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #82 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #83 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #84 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #85 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #86 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #87 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #88 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #89 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #90 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #91 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #92 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #93 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #94 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #95 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #96 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #97 FIRST DOOR: goat GOAT DOOR: goat OTHER DOOR: car RESULT: YOU WIN! TRIAL #98 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! TRIAL #99 FIRST DOOR: car GOAT DOOR: goat OTHER DOOR: goat RESULT: YOU LOSE! 63 WINS AND 36 LOSSES.
SOFTWARE WRITTEN IN PYTHON
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import random #keep track of wins and losses wins = 0 losses = 0 for TrialNum in range(1,100): Doors = ["car","goat","goat"] random.shuffle(Doors) #pick first door FirstDoor = random.randint(0, 2) #pick goat door from remaining two GoatDoor = FirstDoor while GoatDoor == FirstDoor or not Doors[GoatDoor] == "goat": GoatDoor = random.randint(0, 2) #pick the door thats not the first or second OtherDoor = FirstDoor while OtherDoor == FirstDoor or OtherDoor == GoatDoor: OtherDoor = random.randint(0, 2) #show statistics print("TRIAL #" + str(TrialNum)) print("FIRST DOOR: " + str(FirstDoor) + " = " + Doors[FirstDoor].upper()) print("GOAT DOOR: " + str(GoatDoor) + " = " + Doors[GoatDoor].upper()) print("OTHER DOOR: " + str(OtherDoor) + " = " + Doors[OtherDoor].upper()) if Doors[OtherDoor] == "car": wins += 1 print("RESULT: YOU WIN!") else: losses += 1 print("RESULT: YOU LOSE!") print("") print(str(wins) + " WINS AND " + str(losses) + " LOSSES.") |
VERSION 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | import random #keep track of wins and losses wins = 0 losses = 0 for TrialNum in range(1,100): Doors = ["car","goat","goat"] random.shuffle(Doors) #pick first door FirstDoor = random.randint(0, 2) #pick goat door from remaining two for i in range(0,3): if i != FirstDoor and Doors[i] == "goat": GoatDoor = i break #pick the door thats not the first or second for i in range(0,3): if i != FirstDoor and i != GoatDoor: OtherDoor = i break #show statistics print("TRIAL #" + str(TrialNum)) print("FIRST DOOR: " + str(FirstDoor) + " = " + Doors[FirstDoor].upper()) print("GOAT DOOR: " + str(GoatDoor) + " = " + Doors[GoatDoor].upper()) print("OTHER DOOR: " + str(OtherDoor) + " = " + Doors[OtherDoor].upper()) if Doors[OtherDoor] == "car": wins += 1 print("RESULT: YOU WIN!") else: losses += 1 print("RESULT: YOU LOSE!") print("") print(str(wins) + " WINS AND " + str(losses) + " LOSSES.") |
FINAL ATTEMPT, MORE EFFICIENT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import random #keep track of wins and losses wins = 0 losses = 0 for TrialNum in range(1,100): Doors = ["car","goat","goat"] random.shuffle(Doors) FirstDoor = Doors.pop(0) Doors.remove("goat") GoatDoor = "goat" OtherDoor = Doors[0] #show statistics print("TRIAL #" + str(TrialNum)) print("FIRST DOOR: " + FirstDoor) print("GOAT DOOR: " + GoatDoor) print("OTHER DOOR: " + OtherDoor) if OtherDoor == "car": wins += 1 print("RESULT: YOU WIN!") else: losses += 1 print("RESULT: YOU LOSE!") print("") print(str(wins) + " WINS AND " + str(losses) + " LOSSES.") |