首页 > 解决方案 > random.gauss 不应该返回平均值和标准差之间的值吗?

问题描述

我尝试random.gauss在 Python 中使用该函数来获取范围之间的随机值。高斯函数以均值、标准差为参数。返回值不应该在 之间[mean +- standard deviation]吗?

下面是代码片段:

for y in [random.gauss(4,1) for _ in range(50)]:
    if y > 5 or y < 3: # shouldn't y be between  (3, 5) ?
        print(y)

代码输出:

6.011096878888296
2.9192195126660403
5.020299287583643
2.9322959456674083
1.6704559841869528

标签: pythonpython-3.xrandom

解决方案


“返回值不应该在 [均值 +- 标准差] 之间吗?”

不会。对于高斯分布,略低于 32% 的结果将与任一方向的平均值相差一个标准差。没有包含 100% 结果的固定范围。


推荐阅读