NicelyDocumentedProgram.py

From dftwiki3
Jump to: navigation, search

--D. Thiebaut 07:27, 8 September 2011 (EDT)


# hw3b.py
# Jane Doe  111a-as
# ( edited by D. Thiebaut )
# this program prints a random poem as many times as
# the user chooses.
#
# each poem is made from a random subject, random adverb,
# random verb, random location, and random time.
# The program keeps a collection of subjects, adverbs, verbs,
# locations and times.
#
# (NOTE: This program is for Python Version 2.  Won't work with
#               Python V. 3 and above.)
#
from random import randrange

def main():
   #--- ask user for number of poems ---
   print "Welcome to Random Poems of the Day!"
   noPoems = input("How many poems would you like me to write? ")
   print

   #--- create lists of poem elements ---
   subjects   = ['Kep', 'Ford Prefect', 'Albus Dumbledore', 'Madeline LEngle']
   adverbs    = ['quietly', 'vehemently', 'surprisingly', 'naturally', 'explosively']
   verbs      = ['exfoliates', 'defenestrates', 'drinks peppermint tea']
   locations  = ['in Chicago', 'by the statue of the one-eyed witch',\
                  'under my desk']
   times      = ['around teatime', 'before breakfast', 'during quiet hours',\
                 'while watching House']
   collection = [ subjects, adverbs, verbs, locations, times ]

   #--- print all the poems, each one randomly picked ---
   for i in range( noPoems ):

      #--- pick a group of words ---
      for group in collection:
         count = len( group )             # total # words in group
         randomIndex = randrange( count ) # random index less than count
         print group[ randomIndex ],      # just print random word at that index
      print
      print
   
main()