Paul Rubin wrote:

>> def genpool(n, m):
>>     if n == 1:
>>         yield [m]
>>     else:
>>         for i in xrange(1, m):
>>             for rest in genpool(n-1, m-i):
>>                 yield rest + [i]
>>
>> import random
>> print random.choice(list(genpool(n=4, m=20)))
> 
> This generates a lot of the partitions more than once, with
> possibly unequal probability.
Well, I just noticed that with my memoization function it produces too 
little :-(

But I hope you notice that this function doesn't create only partitions 
but all possible outcomes?

A.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to