Count the longest sequence of heads and tails in 200 coin flips.
I did this - is there a niftier way to do it in python? (without being too obfuscated)
import random
def toss(n):
count = [0,0]
longest = [0,0]
for i in xrange(n):
coinface = random.randrange(2)
count[coinface] += 1
count[not coinface] = 0
if count[coinface] > longest[coinface]:
longest[coinface] = count[coinface]
#print coinface, count, longest
print "longest sequence heads %d, tails %d" %tuple(longest)
if __name__ == '__main__':
toss(200)
see this for what prompted my playing
def coins(num):
lst = [random.randrange(2) for i in range(num)]
lst = [(i, len(list(j))) for i, j in itertools.groupby(lst)]
tails = max(j for i, j in lst if i)
heads = max(j for i, j in lst if not i)
return {1: tails, 0: heads}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With