User:Amy Suo Wu/markov chains
[markov chains] [poetry generators]
the dog hacked my homework
text: he saw the cat before he saw the potato.
#!/usr/bin/env.python
import random
#random library
# manually building the dictionary with {}
nextwords = {'he': ['saw'], 'saw': ['the'], 'the': ['cat','potato'], 'cat': ['before'], 'before': ['he'], 'potato': ['.']}
# assigning the item variable from the dictionary. e.g 'he'
focus = 'he'
# call the next words for what ever is stored in the variable focus variable
print nextwords[focus]
#next step is to get him to pick a random word from the values list in the dictionary. build a loop, start anywhere and assign it to variable (focus),
#then search value accordingly and pick out a random word from the value. Then assign the value that he finds to the variable [focus]. jumping to
#the next and then calling it focus. *still missing: storing what is finds in a list*
#dict(one=1, two=2)
#dict({'one': 1, 'two': 2})
#dict(zip(('one', 'two'), (1, 2)))
#dict([['two', 2], ['one', 1]])
text: she sells sea shells by the sea shore.
import random
nextwords = {
'she': ['sells'],
'sells': ['sea'],
'sea': ['shells','shore'],
'shells': ['by'],
'by': ['the'],
'the': ['sea'],
'shore': ['.']
}
word = 'sea'
while True:
#simple loop
print word
# print random.choice(nextwords['she'])
if word == '.':
break
word = random.choice(nextwords[word])
text: each step is moving, its moving me up, moving, its moving me up.
import random
nextwords = {
'each': ['step'],
'step': ['is'],
'is': ['moving'],
'moving': [',','me'],
',': ['its', 'moving'],
'its': ['moving'],
'me': ['up'],
'up': [',','.']
}
word = 'each'
while True:
#simple loop
print word
# print random.choice(nextwords['she'])
if word == '.':
break
word = random.choice(nextwords[word])
results: