david jensen wrote:
... and of course i screwed up my outcomes... that should read outcomes=[[4,3,8,3,5],[3,4,8,3,5],[2,5,8,3,5],[1,6,8,3,5],[0,7,8,3,5]]
abstracting the given algorithm: def iterweights(N): d = 1.0/(N-1) for i in xrange(N): yield i*d, (N-1-i)*d def iterparts(x0, x1, N): a = min(x0, x1) b = max(x0, x1) s = 2 * a t = b - a for m, n in iterweights(N): if a == x0: yield s*m, s*n+t else: yield s*n+t, s*m for p in iterparts(2, 5, 5): print p print for p in iterparts(5, 2, 5): print p (0.0, 7.0) (1.0, 6.0) (2.0, 5.0) (3.0, 4.0) (4.0, 3.0) (7.0, 0.0) (6.0, 1.0) (5.0, 2.0) (4.0, 3.0) (3.0, 4.0) -- http://mail.python.org/mailman/listinfo/python-list