python - 函数生成总和为输入数字的数字数组
问题描述
我知道这看起来很傻,但我需要创建一个函数,该函数generate_sum_array(seed,factor)
将创建一个由任意数量的元素组成的数组,这些元素以随机顺序排列,其中所有数组元素相加,seed
并且每个元素都可以被整除factor
例如:
generate_sum_array(100.10)
应该返回类似
[20,10,40,10,20]
or or [10,10,10,10,10,10,10,10,10,10]
or [50,20,10,20,]
etc. 只要所有元素的总和是100
种子就可以有无限可能(我想.....我不太确定....可以生成多少个不同的数组)
解决方案
您可以执行的符合您的限制的最简单的功能是:
def generate_sum_array(seed,factor):
return [factor for i in range(seed // factor)] if seed % factor == 0 else None
任何其他有效组合仅由返回的列表的总和组成
推荐阅读
- mariadb - MySQL 8 版本下不允许行号
- postgresql - Postgresql:为什么批量插入后没有自动更新id序列
- reactjs - 如何从 React 中的对象中选择多个属性
- python - Python如何将字符串分成几个阶段
- react-native - React Native - 使用样式化组件样式化按钮
- data-structures - 如果所有查找操作都在不相交集中的所有并集之前完成,那么总体时间复杂度是多少?
- java - 转换地图
> 列出 在 Java 中? - puppeteer - 木偶师(PuppeteerSharp)怎么点击?
- regex - Ansible 正则表达式替换字符串
- swift - Swift 泛型嵌套