python3.x - Python随机数生成器的正确用法应该是什么
本文介绍了python3.x - Python随机数生成器的正确用法应该是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
写这段代码的起因是一道很简单的数学题:
数学上的做法如下:
在用笔算得出正确结果(4.5^100)后,想用Python写一段代码进行模拟以验证,代码如下:
import random
import datetime
T=100
ex=0
random.seed(datetime.datetime.now())
while T>0:
y=1
count=100
while count>0:
x=random.randint(0,9)
y*=x
count-=1
ex+=y
T-=1
ex/=100
print(ex)
然而每次输出的结果都是0,所以。。。Python的随机数生成器应该如何正确使用?
解决方案
期望值是大量实验的平均值,你这个是只是单次实验,你几次都得到0是因为,方差很大,结果主要分布在大数和0。结果不为0的概率也就是100个随机数中不出现0的概率,这就是0.9的100次方,大概0.000026,根据大数定理(还是什么其他定理来着,这学期的数理统计和概率论挂了?)可以算出你能模拟出期望所需的最少需要进行的实验次数
这篇关于python3.x - Python随机数生成器的正确用法应该是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文