random / lists

Malcolm Clift mail at mjclift.freeserve.co.uk
Sat Aug 14 15:52:13 CEST 2004


Hi All,

I have this so far.


import random

things = xrange(int(raw_input("choose no of things (1-8)? ")))

state = [None,None]

l = []

for x in things:
    tmp = random.choice('abcd')
    print state
    while tmp in state[0:2]:
        tmp = random.choice('abcd')
    print "choice ",x+1," is ", tmp
    l.append(tmp)

state[x%2] = tmp

print 1

Could someone help in showing me how to control it like this? That if 'a'
is choosen it can only be followed by say b or d, if 'd' is choosen it can
only be followed by c or b etc... I can see how to do this after the list
has been generated with if statements, but that is impractical. As it is
at the moment it stop two of the same letters being given one after
another or the same letter occurring with only one space interviening.

Thanks,

Calvin





More information about the Python-list mailing list