#quote from MIT 'introduction to computation and programming using python, Revised'
import random
def flip(numFlips):
heads = 0.0
for i in range(numFlips):
if random.random() < 0.5:
heads += 1
return heads/numFlips
def flipSim(numFlipsPerTrial, numTrials):
fracHeads = []
for i in range(numTrials):
fracHeads.append(flip(numFlipsPerTrial))
print fracHeads
mean = sum(fracHeads)/len(fracHeads)
return mean
flipSim(100, 200)
[0.59, 0.58, 0.47, 0.39, 0.45, 0.43, 0.48, 0.52, 0.48, 0.5, 0.55, 0.5, 0.59, 0.52, 0.53, 0.5, 0.56, 0.55, 0.43, 0.45, 0.54, 0.46, 0.48, 0.59, 0.55, 0.5, 0.45, 0.47, 0.46, 0.38, 0.55, 0.54, 0.45, 0.47, 0.45, 0.56, 0.48, 0.45, 0.46, 0.54, 0.55, 0.54, 0.5, 0.51,
0.57, 0.48, 0.51, 0.51, 0.53, 0.53, 0.49, 0.52, 0.51, 0.52, 0.45, 0.47, 0.49, 0.46, 0.5, 0.5, 0.53, 0.55, 0.6, 0.5, 0.49, 0.43, 0.45, 0.56, 0.52, 0.37, 0.61, 0.52, 0.51, 0.51, 0.53, 0.55, 0.42, 0.48, 0.41, 0.5, 0.51, 0.58, 0.55, 0.56, 0.52, 0.59, 0.51, 0.58,
0.47, 0.54, 0.56, 0.56, 0.51, 0.51, 0.45, 0.54, 0.46, 0.5, 0.52, 0.45, 0.59, 0.53, 0.54, 0.44, 0.48, 0.44, 0.49, 0.46, 0.52, 0.52, 0.45, 0.46, 0.43, 0.45, 0.55, 0.52, 0.51, 0.55, 0.44, 0.48, 0.53, 0.36, 0.55, 0.56, 0.56, 0.47, 0.45, 0.51, 0.46, 0.6, 0.5, 0.55,
0.61, 0.46, 0.51, 0.53, 0.46, 0.43, 0.56, 0.59, 0.44, 0.57, 0.53, 0.49, 0.46, 0.41, 0.5, 0.52, 0.54, 0.46, 0.44, 0.5, 0.42, 0.47, 0.54, 0.52, 0.53, 0.51, 0.49, 0.43, 0.53, 0.46, 0.56, 0.51, 0.49, 0.43, 0.58, 0.49, 0.47, 0.5, 0.49, 0.42, 0.47, 0.49, 0.53, 0.5,
0.39, 0.53, 0.5, 0.53, 0.43, 0.45, 0.44, 0.5, 0.45, 0.44, 0.49, 0.53, 0.43, 0.58, 0.57, 0.48, 0.53, 0.47, 0.43, 0.46, 0.47, 0.54, 0.5, 0.55]
Out[9]: 0.50015
flipSim(100, 100)
[0.49, 0.5, 0.48, 0.52, 0.54, 0.49, 0.45, 0.47, 0.56, 0.38, 0.5, 0.57, 0.47, 0.41, 0.59, 0.51, 0.52, 0.52, 0.54, 0.55, 0.54, 0.5, 0.51, 0.56, 0.56, 0.49, 0.46, 0.42, 0.46, 0.45, 0.45, 0.49, 0.58, 0.47, 0.46, 0.51, 0.52, 0.45, 0.48, 0.45, 0.45, 0.44, 0.57, 0.53,
0.55, 0.44, 0.47, 0.51, 0.51, 0.53, 0.48, 0.43, 0.44, 0.46, 0.47, 0.4, 0.48, 0.38, 0.5, 0.57, 0.51, 0.56, 0.52, 0.48, 0.47, 0.58, 0.48, 0.5, 0.49, 0.46, 0.51, 0.38, 0.49, 0.48, 0.44, 0.49, 0.6, 0.55, 0.5, 0.51, 0.5, 0.55, 0.53, 0.54, 0.44, 0.54, 0.49, 0.48,
0.47, 0.39, 0.53, 0.5, 0.41, 0.37, 0.54, 0.49, 0.54, 0.49, 0.53, 0.5]
Out[10]: 0.49309999999999987
flipSim(1000, 100)
[0.49, 0.49, 0.502, 0.509, 0.521, 0.491, 0.52, 0.504, 0.502, 0.494, 0.484, 0.51, 0.508, 0.485, 0.487, 0.489, 0.524, 0.503, 0.5, 0.504, 0.515, 0.492, 0.502, 0.502, 0.5, 0.507, 0.527, 0.5, 0.479, 0.508, 0.499, 0.466, 0.509, 0.517, 0.506, 0.49, 0.51, 0.49, 0.51,
0.516, 0.509, 0.512, 0.481, 0.462, 0.511, 0.498, 0.501, 0.501, 0.509, 0.477, 0.491, 0.514, 0.497, 0.486, 0.49, 0.503, 0.516, 0.523, 0.497, 0.521, 0.522, 0.487, 0.487, 0.534, 0.509, 0.517, 0.516, 0.512, 0.503, 0.504, 0.522, 0.5, 0.491, 0.511, 0.498, 0.504,
0.521, 0.511, 0.499, 0.484, 0.536, 0.503, 0.507, 0.486, 0.54, 0.509, 0.515, 0.505, 0.486, 0.514, 0.499, 0.478, 0.486, 0.483, 0.504, 0.518, 0.488, 0.482, 0.513, 0.496]
Out[11]: 0.50241
flipSim(10000, 100)
[0.5039, 0.5067, 0.5041, 0.5051, 0.4989, 0.5, 0.4975, 0.4994, 0.5026, 0.51, 0.4983, 0.5008, 0.4982, 0.5036, 0.5064, 0.5022, 0.5042, 0.5042, 0.4951, 0.4983, 0.505, 0.4967, 0.5082, 0.5064, 0.5012, 0.4949, 0.4958, 0.4971, 0.505, 0.506, 0.5034, 0.5027, 0.4977,
0.5091, 0.5029, 0.505, 0.5032, 0.5042, 0.4998, 0.5059, 0.4954, 0.4902, 0.4976, 0.5053, 0.4897, 0.4852, 0.5052, 0.5005, 0.4997, 0.5097, 0.4957, 0.5018, 0.4972, 0.5003, 0.4975, 0.495, 0.5025, 0.5021, 0.4978, 0.4963, 0.5035, 0.5008, 0.5091, 0.5027, 0.5013, 0.5133,
0.4934, 0.4956, 0.4982, 0.5022, 0.5031, 0.4983, 0.499, 0.5024, 0.5097, 0.5, 0.5009, 0.505, 0.4981, 0.4908, 0.5075, 0.501, 0.4916, 0.5109, 0.4986, 0.4892, 0.5004, 0.5025, 0.5007, 0.5036, 0.5066, 0.504, 0.4996, 0.5036, 0.5072, 0.4962, 0.4966, 0.4981, 0.508,
0.5066]
Out[12]: 0.5011430000000001
flipSim(10, 100)
[0.4, 0.4, 0.2, 0.5, 0.4, 0.3, 0.2, 0.4, 0.7, 0.6, 1.0, 0.3, 0.8, 0.6, 0.3, 0.3, 0.4, 0.5, 0.8, 0.6, 0.4, 0.7, 0.7, 1.0, 0.9, 0.6, 0.5, 0.6, 0.6, 0.4, 0.7, 0.4, 0.6, 0.3, 0.4, 0.5, 0.5, 0.5, 0.8, 0.6, 0.8, 0.2, 0.5, 0.6, 0.5, 0.5, 0.6, 0.6, 0.5, 0.6, 0.5, 0.5,
0.5, 0.5, 0.4, 0.7, 0.7, 0.5, 0.5, 0.5, 0.7, 0.4, 0.5, 0.4, 0.4, 0.7, 0.4, 0.2, 0.4, 0.5, 0.7, 0.2, 0.6, 0.6, 0.7, 0.3, 0.1, 0.6, 0.6, 0.8, 0.8, 0.4, 0.3, 0.8, 0.5, 0.5, 0.2, 0.8, 0.4, 0.4, 0.5, 0.5, 0.8, 0.7, 0.6, 0.4, 0.6, 0.5, 0.5, 0.7]
Out[13]: 0.528