|
本帖最后由 图老师3 于 2019-12-13 20:34 编辑
# -*- coding: utf-8 -*-
'''
机器不断产生一个0到1的随机数,当这些随机数之和超过1即停止。若产生随机数的次数为N,求N的平均值。
'''
#from math import pi,cos,sin,sqrt
#from math import *
#import numpy as np
import random
import time
time_start=time.time()
M=10#随机实验次数:
N=1000000#随机数累计和小于1的产生次数:
Sn=0
for j in range(1,M+1): # range函数控制循环M次实验
S=0
i=0
while S<1: # 控制循环
i=i+1
x=random.uniform(0,1)#生成一个指定[0,1]范围内的随机浮点数.
S=S+x
if S>=1:
print('%d次模拟实验随机产生%d个随机数的平均值=%.4f;'%(j,i,S/i))
Sn=Sn+i
break
print('%d模拟实验产生随机数的次数N的平均值=%.4f;'%(M,Sn/M))
print('-'*50)
time_end=time.time()
print('python3.7程序运行',time_end-time_start,'秒。')
print('-'*50) |
|