Python Program for Monty Hall Game
This program implements Monty Hall game in Python language.
Here is the rule for Monty Hall game:
Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice? For more detail please check Monty Hall Problem on Wikipedia
Python Source Code: Monty Hall Game
# Monty Hall Game in Python
import random
def play_monty_hall(choice):
# Prizes behind the door
# initial ordering doesn't matter
prizes = ['goat', 'car', 'goat']
# Randomizing the prizes
random.shuffle(prizes)
# Determining door without car to open
while True:
opening_door = random.randrange(len(prizes))
if prizes[opening_door] != 'car' and choice-1 != opening_door:
break
opening_door = opening_door + 1
print('We are opening the door number-%d' % (opening_door))
# Determining switching door
options = [1,2,3]
options.remove(choice)
options.remove(opening_door)
switching_door = options[0]
# Asking for switching the option
print('Now, do you want to switch to door number-%d? (yes/no)' %(switching_door))
answer = input()
if answer == 'yes':
result = switching_door - 1
else:
result = choice - 1
# Displaying the player's prize
print('And your prize is ....', prizes[result].upper())
# Reading initial choice
choice = int(input('Which door do you want to choose? (1,2,3): '))
# Playing game
play_monty_hall(choice)
Python Output: Monty Hall Game
PLAY 1: --------------------- Which door do you want to choose? (1,2,3): 2 We are opening the door number-1 Now, do you want to switch to door number-3? (yes/no) yes And your prize is .... CAR PLAY 2: --------------------- Which door do you want to choose? (1,2,3): 1 We are opening the door number-2 Now, do you want to switch to door number-3? (yes/no) no And your prize is .... GOAT