【发布时间】:2014-11-20 18:29:53
【问题描述】:
from random import *
def main():
t = 0
for i in range(1000): # thousand
t += random()
print(t/1000)
main()
我正在查看教授给我的示例程序的源代码,结果发现了这个 RNG。谁能解释这个RNG是如何工作的?
【问题讨论】:
-
如果您正在寻找高斯/正态分布,这一点也不傻。
-
@RussellBorogove 实际上它非常愚蠢。这是概率/统计等价于将两个大数 A 和 B 相加,将 A 添加到自身 B 次。有比将一千个制服相加更好的方法来获得高斯。
-
你的教授似乎是一个很好的人选,可以解释他写的代码:)
-
@pjs - 也许随机数生成不是本练习的目标。也许目标是别的东西,而 Valus 并没有说明。它在学期初期,所以我希望这是一个使用控制语句和算术的练习。不过,我可能是错的。
-
@jww 有很多例子可以证明这些事情要好得多。即使这个想法是为了展示中心极限定理,您也可以通过添加 2 个制服或 3 个制服几乎立即看到它,而循环到 12 并减去 6 会得到非常接近标准法线的结果。 1000 纯粹是浪费计算周期。
标签: python for-loop python-3.x random operators