def random_walk(markov, steps): '''Given a starting word, picks a random word from markov list and walks to given number of steps to generate a sentence''' sentence = [] q = Queue() state = random_state(markov) q.enqueue(state[0]) sentence.append(state[0]) q.enqueue(state[1]) sentence.append(state[1]) i = 2 while i != steps: next_word = stochastic_sample(markov, state) if len(q) == 3: q.dequeue() q.enqueue(next_word) sentence.append(next_word) state = (state[1], next_word) if next_word == '<STOP>': break i += 1 return sentence
def test_getFirst(self): q = Queue() q.enqueue(1) q.enqueue(2) q.enqueue(4) assert q.getFirst() == 1 assert q.dequeue() == 1 assert q.getFirst() == 2 assert q.dequeue() == 2 assert q.getFirst() == 4 assert q.dequeue() == 4
def test_enqueue_dequeue(self): q = Queue() q.enqueue(2) assert q.dequeue() == 2