[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