Gerard Flanagan <[EMAIL PROTECTED]> wrote:
> def distribution(N=2):
> p = [0] + sorted( random.random() for _ in range(N-1) ) + [1]
> for j in range(N):
> yield p[j+1] - p[j]
>
> spread = list(distribution(10))
>
> print spread
> print sum(spread)
This is simpler, easier to prove correct and most likely quicker.
def distribution(N=2):
L = [ random.uniform(0,1) for _ in xrange(N) ]
sumL = sum(L)
return [ l/sumL for l in L ]
spread = distribution(10)
print spread
print sum(spread)
--
Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list