首页 > 解决方案 > 函数生成总和为输入数字的数字数组

问题描述

我知道这看起来很傻,但我需要创建一个函数,该函数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种子就可以有无限可能(我想.....我不太确定....可以生成多少个不同的数组)

标签: python

解决方案


您可以执行的符合您的限制的最简单的功能是:

def generate_sum_array(seed,factor):
    return [factor for i in range(seed // factor)] if seed % factor == 0 else None

任何其他有效组合仅由返回的列表的总和组成


推荐阅读