Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 def test_enqueue_dequeue(self):
     q = Queue()
     q.enqueue(2)
     assert q.dequeue() == 2