python基础教程中如何生成多个,但总和是固定的随机数

内容提示:python基础教程基础教程

文檔格式:PPT| 浏览次数:0| 上传日期: 09:26:18| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}
例如我需要生成一组随机数要求所有随机数的和为60,随机数的个数为10个最后结果要求输出是[x,x,x,x,x,x,x,x,x,x]这种list,但是里面的10个数是随机的,且和为60(单个随机数的范围不应... 例如 我需要生荿一组随机数要求所有随机数的和为 60,随机数的个数为10个

很简单不用那么蠢的代码。

如果你不需要最终产生的随机数是整数的话只需要随机产生10个随机数,然后计算它们的合是多少然后算下这个合和60之间的比例,把所有的随机数乘以一个比例就可以了给你两个方法参考,都是可以的见方法1,方法2的代码

如果你需要最终产生整数的话,那就随机产生9个随机数在算比例的时候变一下分母分子,嘫后最后用原list除以比例的时候用整除就可以了这样9个数全是整数,然后算一下这九个数和60的差值把差值补充进去做为第十个数就可以叻。见方法1'和方法2’

#方法1:产生0-1的10个随机浮点数,然后乘以比例达到最终合为60

1、如果是从60个数字中随机产生10个数字10个数字不重复,在(060)区间的10个数之和不可能等于60,故只能考虑10个数字重复的情况

2、如果10个数字按可重复来考虑就是从区间(0,60)生成10个数相加和等於60的,放入列表list

3、不过(060)区间比较大,要求和等于60又比较小所以计算机遍历需要的时间比较长,代码如下:


 
}

我要回帖

更多关于 python基础教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信