C:\> Rostislav Persion's Projects

.:: 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.")