**Python Puzzles**

In poker, the first person to be dealt an ace gets the role of dealer. Is the probability of being dealt the first ace equal for all players?

Create a simulation to find out.

Running a simulation, we find that the first person being dealt a card has a slightly higher percentage of being dealt the first ace.

After running 100,000 simulations, I get a 28% probability of the first person receiving the first ace.

```
Probability of Drawing an Ace:
Player 1: 27.89%
Player 2: 26.16%
Player 3: 21.83%
Player 4: 24.12%
```

import matplotlib.pyplot as plt import random from collections import Counter result = [] loop = 100_000 for _ in range(loop): #assume cards 1,2,3,4 are Aces deck = list(range(1,53)) random.shuffle(deck) #i represents the player, assuming there are 4 players i = 1 #if the card is an ace, append the player (i) it was dealt to for x in deck: if x < 5: result.append(i) i = 1 break else: i +=1 #set i to player 1 if i > 4: i = 1 # equals to list(set(words)) keys = list(Counter(result).keys()) # counts the elements' frequency values = list(Counter(result).values()) values_pct = [] # determine percent for x in values: values_pct.append(x/loop) # sort the keys based on the values in descending order keys = [k for _, k in sorted(zip(values, keys), reverse=True)] # create a bar chart plt.bar(keys, values_pct) plt.ylabel("Percentage") plt.xlabel("Player") plt.title("Probability of Drawing an Ace\n") plt.xticks(keys) # Save the plot plt.savefig('dealing-an-ace-barchart.png', dpi=300, bbox_inches='tight') # Show the plot plt.show() # print the results in descending order print("Probability of Drawing an Ace:\n") for i, k in enumerate(keys): print(f"Player {k}: {values_pct[i]:.2%}")