首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生成一个N个伪随机整数的列表,从一个特定的范围中提取,该列表可以求和到一个特定的值。

生成一个N个伪随机整数的列表,从一个特定的范围中提取,该列表可以求和到一个特定的值。
EN

Stack Overflow用户
提问于 2020-07-25 21:25:25
回答 3查看 59关注 0票数 1

在Python中:

我如何生成一个N(例如10)伪随机整数的列表,每个伪随机整数都是从一个特定的范围(例如3到9之间)提取的,并且该列表的总和达到一个特定的值(例如58)?

对于本例,解决方案如下所示:

代码语言:javascript
运行
复制
solution = [3, 7, 7, 9, 3, 6, 4, 8, 8, 3]

sum(solution)
58

也就是说,10个数字,每个在3到9之间,加起来多达58个。

我尝试了一种使用np.random.dirichletnp.random.multinomial的解决方案,就像在这里的相关问题中所建议的那样,但这些方法不允许从特定范围内选择整数。

EN

Stack Overflow用户

发布于 2020-07-25 21:54:12

重复直到成功?

代码语言:javascript
运行
复制
a = []
while sum(a) != 58:
    a = random.choices(range(3, 10), k=10)

平均需要17次尝试。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63093721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档