たとえば 7 をランダムなサイズのランダムな数の要素に分割する必要がある場合、どうすればよいでしょうか?
[3,4]、[2,3,1]、[2,2,1,1,0,1] を取得することがありますか?
とても簡単だと思いますが、結果が得られないようです。ここで私がコード的にやろうとしていること(動作しません):
def split_big_num(num):
partition = randint(1,int(4))
piece = randint(1,int(num))
result = []
for i in range(partition):
element = num-piece
result.append(element)
piece = randint(0,element)
#What's next?
if num - piece == 0:
return result
return result
編集: 結果の各数値は最初の数値よりも小さく、ゼロの数はパーティションの数より少なくてはなりません。