markov-sentence-generator
markov-sentence-generator copied to clipboard
pop(0) from empty list (including proposal for a fix)
hi Harry,
thanks for sharing this. It turns out to be very helpful. Unfortunately sometimes I get into trouble when your code pop from an empty list (see below).
This is my proposal for a fix but there might be a more clever alternative... def next (prevList): sum = 0.0 retval = "" index = random.random () # Shorten prevList until it's in mapping while toHash (prevList) not in mapping: if prevList: prevList.pop (0) # cant pop from empty list else: curr = random.choice (starts) sent = curr.capitalize () prevList = [curr] # Get a random word from the mapping, given prevList for k, v in mapping [toHash (prevList)].iteritems (): sum += v if sum >= index and retval == "": retval = k return retval
all the best, Mark
Traceback (most recent call last):
File "dbutils.py", line 92, in
please write clear indents in else field.