python 产⽣总和固定的随机整数和随机浮点数序列
python 产⽣总和固定的随机整数和随机序列
使⽤python ,产⽣总和为固定数的随机整数序列
使⽤python ,产⽣总和为固定数的随机浮点数序列import random def random_num_with_fix_total(maxValue, num):    '''⽣成总和固定的整数序列    maxvalue: 序列总和    num :要⽣成的整数个数'''    a = random.sample(range(1,maxValue), k=num-1) # 在1~99之间,采集20个数据    a.append(0)  # 加上数据开头    a.append(maxValue)    a = sorted(a)    b = [ a[i]-a[i-1] for i in range(1, len(a)) ] # 列表推导式,计算列表中每两个数之间的间隔    print(b)    print(len(b))    print( sum(b))random_num_with_fix_total(1000, 20)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16import random def generate_float(n, sum_v, list):    '''⽣成总和固定的随机浮点数序列。    n: 要⽣成的浮点数个数    sum_v :浮点数总和    list :⽤于存储⽣成的浮点数列表'''    temp = random.uniform(1, sum_v*3/n/2)    if n == 1:        list.append(round(sum_v,2))        return list    else:        list.append(round(temp,2))        generate_float(n-1, sum_v-temp,list)li = list()generate_float(28,100, li)print(len(li))print(li)import numpy as np # 随机产⽣num 个数,范围是[min_value, max_value)之间的随机数!def random_float_with_fix_sum(min_value, max_value, num):    ceshi = np.random.rand(num) * max_value + min_value    li = [ round(i, 2) for i list() ]    return li li = random_float_with_fix_sum(1, 100, 10)print(li)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17random python
18
19
20
21
22
23
24
25
26
27
28
29

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。