MRAB wrote: > It's left as an exercise for the reader as to how it works. :-)
*if* it works, you mean. should the following script really print anything? import random, sys # input variables replaced with zeros L = [ ['b', ['w','z']], ['a', ['z','y']], ['w', ['z','0']], ['z', ['0','0']], ['y', ['0','0']] ] def Compare(X, Y): if X[0] in Y[1]: return -1 elif Y[0] in X[1]: return 1 else: return 0 while 1: random.shuffle(L) L.sort(cmp=Compare) # check that all steps only use known values i = set("0") for d, s in L: if s[0] not in i or s[1] not in i: print L print d, s, i i.add(d) </F> -- http://mail.python.org/mailman/listinfo/python-list