# The Monty Hall Problem

Grey overlay

Pink

Green

Blue

Cream

Liliac

Purple

Yellow

## Objectives

### Developing the **Programming and Development** and **Algorithm** learning strands, specifically:

- Understand the difference between, and appropriately use
**if**statements when checking doors in your simulation. - Use variables and relational operators within a
**loop**to govern the end of your Monty Hall Problem game. - Designs solutions (algorithms) that use repetition and two-way selection i.e.
**if, then and else**.

## Introduction: The Monty Hall problem

### Document It

- Watch the video.

- Talk with the person next to you about the following questions:
- What is the problem?
- Should you swap, stick with your choice or does it make no difference?
- What is the correct choice? Can you explain why?

### Learn It: The Monty Hall Problem

- The Monty Hall Problem is probability puzzle based on an American TV game show "Let's Make a Deal" and is named after its host, Monty Hall.
- The problem was originally posed (and solved) in a letter by Steve Selvin to the American Statistician in 1975.
- The problem was as follows:

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?

- Do you think you should switch your choice or stick with your 1st choice?
- You and most people think they should stick.
- But as the video above video shows contestants who
**switch have a 2/3 chance of winning the car**, while contestants who**stick to their initial choice have only a 1/3 chance.** - Paul Erdos, one of the most prolific mathematicians in history, remained unconvinced this was true until he was shown a computer simulation demonstrating the predicted result.

- The image shows the three initial configurations of the game. In two of them, the player wins by switching away from the choice made before a door was opened.

### Code It - List Popping

- Using Python we're going to make our own Monty Hall Problem game.
- First of all we need to learn a new command when using lists,
**.pop()**. - Pop is used with lists to "pop off" or delete the last item in a list.
- Example code for popping a list can be seen in the Trinket below:

- Experiment with the code above to change the list and add new items to it.
- Try using
**.pop(3)**this will delete the 3rd element of the list.

### Code It - The Monty Hall Problem Simulation

- Now it's time to do our own
**simulation**of the Monty Hall Problem, to prove that you should always switch your choice. - Your going to complete some code so that you can simulate
**10000 games**of the problem at a time. - You'll then see the probability of the two choices of switching and staying.
- Use the below Trinket and tasks to help you complete the badges for this week.

### Badge It: Silver

- Using the Trinket
**above**as a starting point and using the**comments to guide you**, make a simulation of the Monty Hall Problem in python. - It should end up around 2/3 winning with switching and 1/3 with staying.
- Screenshot your complete code for the Silver badge.

### Badge It: Gold

- For Gold you are going to comment on a version of the game where you play a round of the game like a player would in real life.
- Modify the code below to add a comment to each line, using a #, indicating what is happenning on that line.
- For example, for
**door = [1,2,3]**you could add**# A list called door is created containing the integers 1,2 and 3.**

### Badge It: Platinum

- Using the code given to you in the Gold badge add
**print**commands to show a visual version of your doors at each stage of the game. - Use google to research ASCII art to see how you can use characters to make simple graphics.
- An example output is shown below: