import random
def game(changeDoor=False):
doors = [1,2,3]
winDoor = random.choice(doors)
choosenDoor = random.choice(doors)
emptyDoors = [d for d in doors if (d != winDoor) and (d != choosenDoor)]
emptyDoor = random.choice(emptyDoors)
if changeDoor:
doors.remove(emptyDoor)
doors.remove(choosenDoor)
choosenDoor = doors[0]
if choosenDoor == winDoor:
return 1
return 0
winNoChange = 0
winChange = 0
testAttempts = 1000
for _ in range(testAttempts):
winNoChange += game()
for _ in range(testAttempts):
winChange += game(changeDoor=True)
print(f'Wins NO change ({testAttempts} attempts): {winNoChange}')
print(f'Wins WITH change ({testAttempts} attempts): {winChange}')
aW1wb3J0IHJhbmRvbQoKZGVmIGdhbWUoY2hhbmdlRG9vcj1GYWxzZSk6Cglkb29ycyA9IFsxLDIsM10KCXdpbkRvb3IgPSByYW5kb20uY2hvaWNlKGRvb3JzKQoJY2hvb3NlbkRvb3IgPSByYW5kb20uY2hvaWNlKGRvb3JzKQoJZW1wdHlEb29ycyA9IFtkIGZvciBkIGluIGRvb3JzIGlmIChkICE9IHdpbkRvb3IpIGFuZCAoZCAhPSBjaG9vc2VuRG9vcildCgllbXB0eURvb3IgPSByYW5kb20uY2hvaWNlKGVtcHR5RG9vcnMpCglpZiBjaGFuZ2VEb29yOgoJCWRvb3JzLnJlbW92ZShlbXB0eURvb3IpCgkJZG9vcnMucmVtb3ZlKGNob29zZW5Eb29yKQoJCWNob29zZW5Eb29yID0gZG9vcnNbMF0KCQoJaWYgY2hvb3NlbkRvb3IgPT0gd2luRG9vcjoKCQlyZXR1cm4gMQoJcmV0dXJuIDAKCQoJCndpbk5vQ2hhbmdlID0gMAp3aW5DaGFuZ2UgPSAwCnRlc3RBdHRlbXB0cyA9IDEwMDAKCmZvciBfIGluIHJhbmdlKHRlc3RBdHRlbXB0cyk6Cgl3aW5Ob0NoYW5nZSArPSBnYW1lKCkKCQpmb3IgXyBpbiByYW5nZSh0ZXN0QXR0ZW1wdHMpOgoJd2luQ2hhbmdlICs9IGdhbWUoY2hhbmdlRG9vcj1UcnVlKQoJCgpwcmludChmJ1dpbnMgTk8gY2hhbmdlICh7dGVzdEF0dGVtcHRzfSBhdHRlbXB0cyk6IHt3aW5Ob0NoYW5nZX0nKQpwcmludChmJ1dpbnMgV0lUSCBjaGFuZ2UgKHt0ZXN0QXR0ZW1wdHN9IGF0dGVtcHRzKToge3dpbkNoYW5nZX0nKQ==