python已知总数随机生成数字
时间: 2023-11-08 10:01:32 浏览: 211
使用Python可以通过random.sample函数生成指定范围内的随机数。在给定总和值和要生成的整数个数的情况下,可以通过以下步骤来实现:
1. 导入random模块:`import random`
2. 定义生成随机序列的函数:`def randomNumVaccinePersonTotal(maxValue, num)`
3. 使用random.sample函数生成指定范围内的随机数:`suiji_ser = random.sample(range(1,maxValue), k=num-1)`
4. 在序列开头加入0,并在结尾处加入序列的总和值:`suiji_ser.append(0)`和`suiji_ser.append(maxValue)`
5. 对序列进行排序:`suiji_ser = sorted(suiji_ser)`
6. 利用列表推导式计算每两个数之间的差值,即每个整数的个数:`per_all_persons = [ suiji_ser[i]-suiji_ser[i-1] for i in range(1, len(suiji_ser)) ]`
7. 返回生成的整数序列:`return per_all_persons`
以下是完整的代码示例:
```python
import random
def randomNumVaccinePersonTotal(maxValue, num):
maxValue = int(maxValue)
suiji_ser = random.sample(range(1,maxValue), k=num-1)
suiji_ser.append(0)
suiji_ser.append(maxValue)
suiji_ser = sorted(suiji_ser)
per_all_persons = [ suiji_ser[i]-suiji_ser[i-1] for i in range(1, len(suiji_ser)) ]
return per_all_persons
print('测试结果',randomNumVaccinePersonTotal(1024,10))
```
测试结果示例:`[7, 36, 60, 19, 18, 68, 47, 406, 295]`
阅读全文