运用模拟方法模拟投掷两个骰子(分别用随机变量x和y表示)10000次,计算出下列情况出现的概率:
(1)两个骰子点数和为“小”(小于7);
(2)两个骰子点数和为“大”(大于等于7);
(3)出现“豹子”(点数相等)。
#2.模拟投掷两个骰子
import numpy as np
#j为小的点数,k为大的点数,l为包子的点数
j,k,l=0,0,0
N=10000
x_=np.random.random(N)
y_=np.random.random(N)
for i in range(N):
if x_[i]<=1/6:
x=1
if x_[i]>1/6 and x_[i]<=2/6:
x=2
if x_[i]>2/6 and x_[i]<3/6:
x=3
if x_[i]>3/6 and x_[i]<4/6:
x=4
if x_[i]>4/6 and x_[i]<5/6:
x=5
if x_[i]>5/6:
x=6
if y_[i]<=1/6:
y=1
if y_[i]>1/6 and y_[i]<=2/6:
y=2
if y_[i]>2/6 and y_[i]<3/6:
y=3
if y_[i]>3/6 and y_[i]<4/6:
y=4
if y_[i]>4/6 and y_[i]<5/6:
y=5
if y_[i]>5/6:
y=6
if x==y:
j=j+1
if x+y<7:
k=k+1
else:
l=l+1
print(j/10000,k/10000,l/10000)