[Tutor] I flip a coin 1 million times what is the consecutive times it will come up head and come up tails

shaeffer at q.com shaeffer at q.com
Tue Feb 26 15:34:33 EST 2019


I am learning python.  I wanted to test my ability by making a program to
keep track of the flip of a coin to find how many consecutive times it came
up heads and tails.

 

Just want some criticism on what I have done.

 

 

 

 

 

import random

Hn = {}

Tn = {}

for i in range (0,31):

    vars()["Hn"+str(i)] = 0

for i in range (0,31):

    vars()["Tn"+str(i)] = 0    

total_Heads = 0

total_tails= 0 

tails_number = 0

Heads_number = 0

tries = 0

while tries < 10000:

    tries += 1

    coin = random.randint(1, 2)   #  Flip coin

    

    if coin == 1:

        Heads_number += 1         #  Incroment Heads count

        total_Heads += 1

        if tails_number > 0 :

             

            vars()["Tn"+ str(tails_number)] += 1   #  Incroment tails
consecutive count

            tails_number = 0

             

    if coin == 2:

        tails_number += 1       #  Incroment Talies count

        total_tails += 1

        if Heads_number > 0:

            

            vars()["Hn"+ str(Heads_number)] += 1  #  Incroment Heads
consecutive count

            Heads_number = 0

            

print (tries)

print (total_tails, total_Heads)

for i in range (30):

    

    print ('%-15s %-15s' %(("Tn"+str(i)+"
"+str(eval("Tn"+str(i)))),("Hn"+str(i)+" "+str(eval("Hn"+str(i))))))

 

 

 

 

print out

 

100000000

50000259 49999741

Tn0 0           Hn0 0          

Tn1 12497339    Hn1 12500186   

Tn2 6257043     Hn2 6251565    

Tn3 3120686     Hn3 3127257    

Tn4 1563418     Hn4 1561175    

Tn5 781938      Hn5 779381     

Tn6 390943      Hn6 389768     

Tn7 195569      Hn7 196513     

Tn8 97091       Hn8 97858      

Tn9 48717       Hn9 48745      

Tn10 24493      Hn10 24429     

Tn11 11966      Hn11 12237     

Tn12 6070       Hn12 6062      

Tn13 3021       Hn13 3039      

Tn14 1540       Hn14 1556      

Tn15 679        Hn15 726       

Tn16 403        Hn16 389       

Tn17 179        Hn17 206       

Tn18 94         Hn18 105       

Tn19 49         Hn19 45        

Tn20 26         Hn20 24        

Tn21 16         Hn21 13        

Tn22 5          Hn22 2         

Tn23 1          Hn23 3         

Tn24 2          Hn24 3         

Tn25 1          Hn25 2         

Tn26 0          Hn26 0         

Tn27 0          Hn27 0         

Tn28 0          Hn28 0         

Tn29 0          Hn29 0         

 



More information about the Tutor mailing list