"""
madlib2.py
Interactive display of a mad lib, which is provided as a Python format string,
with all the cues being dictionary formats, in the form %(cue)s.
"""
def getCues(formatString):
keyList = list()
end = 0
repetitions = formatString.count('%(')
for i in range(repetitions):
start = formatString.find('%(', end) + 2
end = formatString.find(')', start)
key = formatString[start : end]
keyList.append(key) # may add duplicates
return set(keyList) # removes duplicates: no duplicates in a set
def getUserPicks(cues):
userPicks = dict()
for cue in cues:
prompt = "Enter a specific example for %s: " % cue
userPicks[cue] = raw_input(prompt)
return userPicks
def tellStory(story):
cues = getCues(story)
print cues
userPicks = getUserPicks(cues)
print userPicks
print story % userPicks
def main():
originalStory = '''
Once upon a time, deep in an ancient jungle, there lived a %(animal)s.
This %(animal)s liked to eat %(food)s, but the jungle had
very little %(food)s to offer.
One day, an explorer found the %(animal)s and discovered
it liked %(food)s. The explorer took the
%(animal)s back to %(city)s, where it could
eat as much %(food)s as it wanted.
However, the %(animal)s became %(negative adjective)s, so the
explorer brought it back to the jungle, and left it there
with a large supply of %(food)s. So the %(animal)s was not
%(negative adjective)s any more.
The End
'''
tellStory(originalStory)
main()
Like this:
Like Loading...
amazing 5 stars
LikeLike
def getCues(formatString):
keyList = list()
end = 0
repetitions = formatString.count(‘%(‘)
for i in range(repetitions):
start = formatString.find(‘%(‘, end) + 2
end = formatString.find(‘)’, start)
key = formatString[start : end]
keyList.append(key) # may add duplicates
return set(keyList) # removes duplicates: no duplicates in a set
def getUserPicks(cues):
userPicks = dict()
for cue in cues:
prompt = “Enter a specific example for %s: ” % cue
userPicks[cue] = raw_input(prompt)
return userPicks
def tellStory(story):
cues = getCues(story)
print cues
userPicks = getUserPicks(cues)
print userPicks
print story % userPicks
def main():
originalStory = ”’
one time a boy started to %(verb)s he did %(verb)s for a long time
then he went to %(place)s by %(way_of_traviling)s. it soon got
boring and he went to %(place)s and there he ate %(food)s,
and some more %(food)s
when he was full he tried to %(different_verb)s he failed %(exprassion_of_size)s
then he %(different_way_of_traviling)s all the way home and watched %(wierd_thing)s channel on ESPN.
the end
”’
tellStory(originalStory)
main()
LikeLike