fork(2) download
  1. import random
  2.  
  3. def game(changeDoor=False):
  4. doors = [1,2,3]
  5. winDoor = random.choice(doors)
  6. choosenDoor = random.choice(doors)
  7. emptyDoors = [d for d in doors if (d != winDoor) and (d != choosenDoor)]
  8. emptyDoor = random.choice(emptyDoors)
  9. if changeDoor:
  10. doors.remove(emptyDoor)
  11. doors.remove(choosenDoor)
  12. choosenDoor = doors[0]
  13.  
  14. if choosenDoor == winDoor:
  15. return 1
  16. return 0
  17.  
  18.  
  19. winNoChange = 0
  20. winChange = 0
  21. testAttempts = 1000
  22.  
  23. for _ in range(testAttempts):
  24. winNoChange += game()
  25.  
  26. for _ in range(testAttempts):
  27. winChange += game(changeDoor=True)
  28.  
  29.  
  30. print(f'Wins NO change ({testAttempts} attempts): {winNoChange}')
  31. print(f'Wins WITH change ({testAttempts} attempts): {winChange}')
Success #stdin #stdout 0.03s 11564KB
stdin
Standard input is empty
stdout
Wins NO change (1000 attempts): 338
Wins WITH change (1000 attempts): 693