/ Published in: Python

In response to this: http://www.thebigquestions.com/2010/12/27/win-landsburgs-money/
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#!/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)
Comments
