Anthony Liu wrote: > I am at my wit's end. > > I want to generate a certain number of random numbers. > This is easy, I can repeatedly do uniform(0, 1) for > example. > > But, I want the random numbers just generated sum up > to 1 . > > I am not sure how to do this. Any idea? Thanks. >
-------------------------------------------------------------- import random def partition(start=0,stop=1,eps=5): d = stop - start vals = [ start + d * random.random() for _ in range(2*eps) ] vals = [start] + vals + [stop] vals.sort() return vals P = partition() intervals = [ P[i:i+2] for i in range(len(P)-1) ] deltas = [ x[1] - x[0] for x in intervals ] print deltas print sum(deltas) --------------------------------------------------------------- Gerard -- http://mail.python.org/mailman/listinfo/python-list