python 如何生成和为固定值的N个随机数?
答案:2 悬赏:20 手机版
解决时间 2021-11-08 19:21
- 提问者网友:書生途
- 2021-11-08 10:30
python 如何生成和为固定值的N个随机数?
最佳答案
- 五星知识达人网友:像个废品
- 2021-11-08 10:52
import random
lst=[]
n=60
for i in range(10):
lst.append(random.randint(0,n))
n-=lst[i]
print(lst)
lst=[]
n=60
for i in range(10):
lst.append(random.randint(0,n))
n-=lst[i]
print(lst)
全部回答
- 1楼网友:往事埋风中
- 2021-11-08 11:05
1、如果是从60个数字中随机产生10个数字,10个数字不重复,在(0,60)区间的10个数之和不可能等于60,故只能考虑10个数字重复的情况
2、如果10个数字按可重复来考虑,就是从区间(0,60)生成10个数,相加和等于60的,放入列表list
3、不过(0,60)区间比较大,要求和等于60又比较小,所以计算机遍历需要的时间比较长,代码如下:
#python3import random
import time
iRandom = []
listRandom =[]
def main():
n1 = random.randint(0,60)
n2 = random.randint(0, 60)
n3 = random.randint(0, 60)
n4 = random.randint(0, 60)
n5 = random.randint(0, 60)
n6 = random.randint(0, 60)
n7 = random.randint(0, 60)
n8 = random.randint(0, 60)
n9 = random.randint(0, 60)
n10 = random.randint(0, 60)
if (n1+n2+n3+n4+n5+n6+n7+n8+n9+n10) == 60:
listRandom = n1,n2,n3,n4,n5,n6,n7,n8,n9,n10
iRandom.append(listRandom)
print(iRandom)
else: print('还没有找到')
def do_while():
while True:
main()
time.sleep(0.0000001)
do_while()
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯