number generator
Shane Geiger
sgeiger at ncee.net
Wed Mar 14 11:35:02 EDT 2007
Raymond: It looks to me as if you are trying to turn a generator into
a list in the final line. That doesn't work.
Raymond Hettinger wrote:
>> To make the solutions equi-probable, a simple approach is to
>> recursively enumerate all possibilities and then choose one of them
>> with random.choice().
>>
>
> Since people are posting their solutions now (originally only hints
> were provided for the homework problem), here's mine:
>
> 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)))
>
>
--
Shane Geiger
IT Director
National Council on Economic Education
sgeiger at ncee.net | 402-438-8958 | http://www.ncee.net
Leading the Campaign for Economic and Financial Literacy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sgeiger.vcf
Type: text/x-vcard
Size: 310 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20070314/da4d8083/attachment.vcf>
More information about the Python-list
mailing list