Return to Snippet

Revision: 38430
at January 2, 2011 09:36 by gsteff


Initial Code
#!/usr/bin/python

import random

def run_sim(num_families, num_years):
    families = {}
    for family in range(num_families):
        families[family] = []

    for year in range(num_years):
        for family, children in families.items():
            if len(children) == 0 or children[-1] == 'G':
                next_child = random.choice(['B', 'G'])
                children.append(next_child)

    total_girls = 0
    total_boys = 0
    for family, children in families.items():
        for child in children:
            if child == 'B':
                total_boys += 1
            else:
                total_girls += 1
    ratio = total_girls/float(total_girls + total_boys)
    return ratio


ratios = []
for i in range(3000):
    ratios.append(run_sim(10, 30))

print sum(ratios)/len(ratios)

Initial URL


Initial Description
In response to this: http://www.thebigquestions.com/2010/12/27/win-landsburgs-money/

Initial Title
Implementation of the Landsburg challenge

Initial Tags


Initial Language
Python