Recently I published a YouTube video in which I calculated the probability of a head on a coin flip. The catch here is that it is also to be demonstrated using a computer program simulating a coin flip for at least a million iterations. You can watch the video here -
Mathematically speaking, the probability of an event is calculated by the following formula -
Probability of an event =
Here, in this scenario, the favorable event is the appearance of 'Head' and all possible events are any of the faces 'Heads or Tails'. Thus the number of favorable events is 1 whereas the number of all possible events is 2. Thus according to the formula of probability- we get a probability of 1/2 or 50% approx.
Well, now is the time to simulate that using python. Let's get moving -
First of all, import the random
module because we have to randomly select a face of the coin.
import random
Now, its time to create a function, we name it experiment
. This function will simulate one coin flip and return 1 if we get a Head and 0 if we got a Tail.
def experiment():
faces = ['T', 'H'] # all possible faces
top_face = random.random(faces) # randomly choose a face
if top_face == 'H': # Checking if we got a head
return 1 # return 1 if success
return 0 # otherwise return 0
Now that we have created our function, its time to test it for a million iterations -
headCounter = 0 # variable to count the number of times we get heads
# conduct the experiment a million times and count the heads
for _ in range(1000000):
headCounter += experiment()
# Print the results as percentage of total number of iterations
print(f"The probability of getting head is {headCounter / 1000000 * 100}%")
In my tests, I am consistently getting numbers close to 50 such as 50.0021% and 50.0017% which is in-line with our calculations.
Hope you enjoyed this article. You can also watch my YouTube video here on which this article is based.
Thanks and bye guys. I will see you in the next one.
Top comments (0)