如何在python中具有特定平均值的范围内生成随机数?

 手机用户2502909917 发布于 2023-02-08 04:56

所以我想说我想在-1000到1000之间生成一个随机数,我希望平均值为x.我该怎么做?

编辑:为了清楚起见,生成的数字应该落在标准正态分布中,平均值为x.

因此,如果我生成了一千个数字并找到了它们的平均数,则它将是x.

我试过这个,但它似乎不起作用:

sum_ = 0
for i in range(0, 10):
  sum_ += random.triangular(-1000, 1000, 10)
print sum_ / 10

我希望这能给我一些东西~10但我显然没有使用正确的代码.

1 个回答
  • 标准正态分布具有无限范围,在任何给定区间之外找到点的非零概率.你可以使用三角形,只要记住它的意思就是(a + b + mode) / 3triangular(a, b, 3*x - a - b)你得到你想要的东西:

    from random import triangular
    
    a = 0
    b = 10
    x = 3
    test = [triangular(a, b, 3*x - a - b) for _ in range(1000)]
    sum(test) / 1000.0
    # 3.006828109140065
    

    2023-02-08 05:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有