Skip to main content

Flip a coin million times w/ Python

Photo by ZSun Fu on Unsplash

Welcome everyone to my blog. I could not write a new blog post for the last year because of my heavy work schedule. So I thought to write an article on a recent project done by me. Let's get started.


Imagine that you want to flip a coin. Perhaps you don't need a complex python script to flip and find a result but what if you're going to flip a coin 2 million times and check the results. Then you have to invite Python to do all the hard work for you.


If you are not interested to dive deep, just go ahead and check my project on Github. And also don't forget to follow my profile for the latest fun projects.

and if you are a Python expert please feel free to fork.  🍴🍴

Link: https://github.com/chamodhk/coin-flipper


Import the libraries you want!

If you aren't using a GUI all you have to import is the random module. If you are an expert you don't have to import it too because you can write a function to get the random part done.


import random


List The Results

Before starting, we have to create a list that contains the possible results i.e. Heads and Tails. And also 
we have to create a list to record our results.

sides = ['Heads','Tails']
results = []

Get a random choice

Set round count

At last, we have to get the number of rounds to flip the coin.


count = int(input("How many times you want to flip the coin?: "))


Code the main loop.


To flip the coin we have to create a loop that runs for the number we provided and writes results to the results list.

for flip in range(count)

    # Logic goes here


Get a random choice


To flip the coin we use the random.choice()  which returns a random choice from the side list. 
to write the result to the result list we use results.append().

for flip in range(count):
    flip = random.choice(sides)
    results.append(flip)



Calculate the head-tail percentages.

This is the most interesting part of the article. Can you guess the final result? Each percentage is very close to 50% and this proves the theory of large numbers.

To calculate the percentages write the following simple code.




print('\nHeads'+str(heads)+'%\n')
print('\nHeads'+str(heads)+'%\n')


Full Code.




import random

sides = ['Heads','Tails']

results = []

count = int(input("How many times you want to flip the coin?: "))

for flip in range(count):
    flip = random.choice(sides)
    results.append(flip)

heads = results.count('Heads')/len(results)*100

tails = results.count('Tails')/len(results)*100

print('\nHeads '+str(heads)+'%\n')
print('\nHeads '+str(tails)+'%\n')






Final Result







Hope you learned something new. If yes, don't forget to follow and share my blog.



Comments

Trending Now

Let's talk about cryptography.

Have you ever heard of cryptography?  People write their diaries every day. For many of them, their diary is one of their best friends to whom they tell their every secret. What happens when someone else finds such a diary? That would freak out the dairy's owner for sure. Also, it might put their lives in danger. Wise men always hide their diaries so no one else finds it.  But legends hide their message so that only they can read what they wrote. So even if the diary is found by someone else, they cannot know the secrets. for example, I wrote this in my diary today.   P dyval h isvn wvza hivba jyfwavnyhwof avkhf Can you understand it? This is just a very primitive level of cryptography yet powerful enough to hide what I wrote from 90% of people. I will discuss this type of cryptography in the next blog post. The human used cryptography from the very beginning to share their messages in secret and conceal their inventions. As you may know, many people tried to find a recip...

Generate all possible phone numbers with Python | Generates Crores of Phone Numbers within minutes.

Recently,  I learned about itertools in python. Especially, about the functions permutations, combinations, and products and I tried to make a script that generates all phone numbers in our country. I bet your phone number is too on the list. let the hack begin!!! First, you need to install itertools in your computer  Simply open your terminal and type                sudo apt-get  install  -y python-more- itertools Then Write the code below from itertools import product file_name = "phonebook.txt" phonebook = open (file_name, 'a' ) prefixes = [ '+9471' ] product_a = product([ '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' ], [ '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' ], [ '1' , '2' , '3' , '4' , '5...