将一枚硬币抛掷三次
(1)求恰又一次出现正面的概率
(2)求至少一次出现正面的概率
话说以前遇到这些问题都是找什么样本空间之类的,我表示太抽象不能理解。。。今天用python暴力做题看看效果如何
解第一题:
让python给我扔硬币去。。。反正是计算机
import numpy.random as r
a = r.randint(2,size=3)
#a=array([1, 0, 0])
这里
第一个参数为2表示:a会产生一个介于[0,2)之间的整数),即0或者1随机一个,那么0表示正面,1表示反面
第二个参数size=3 : 表示扔一枚硬币三次
然后接下去就是让python去扔10000次硬币把哈哈哈,不开心你可以自己加
import numpy.random as r
#这个l列表是用来存放结果集合的
l = []
for i in range(10000):
a = r.randint(2,size=3)
l.append(a)
这个时候python已经将10000次硬币的集合已经保存在集合l里面了,这个时候就是校验次数的时候
解1完整程序
# -*- coding: utf-8 -*-
import numpy as np
import numpy.random as r
l = []
for i in range(1000000):
a = r.randint(2,size=3)
l.append(a)
#校验 0是正面
resultnum = 0
for x in l:
#计算0出现的次数
x = x.tolist()#转成标准list
num = x.count(0)
if num == 1:
resultnum +=1
print resultnum
解2完整程序
# -*- coding: utf-8 -*-
import numpy as np
import numpy.random as r
l = []
for i in range(1000000):
a = r.randint(2,size=3)
l.append(a)
#校验 0是正面
resultnum = 0
for x in l:
#计算0出现的次数
x = x.tolist()#转成标准list
num = x.count(0)
if num >= 1:#就这里不一样而已
resultnum +=1
print resultnum