CSC111 Homework 12
Problem #1: Where should you eat today?
This problem was suggested by Kristina.
Write a program that reads the Web page located at http://www.smith.edu/diningservices/10Menus/10apr22.php and that search for your favorite dishes. If it finds a house where your favorite dishes are offered, it displays the name of the house, and the menu for that house.
Here is an example of how your program should get its input. The user input is underlined.
python hw12a.py Welcome to the Smith Menu Selection program. Today is April 22, 2010 What are your favorite dishes? pasta icecream ROAST Your favorite dishes are offered today in: Chapin: Icecream Cutter-Ziskind: Icecream, Pot Roast Hubbard: Pasta Bar
- Your program must request only one thing from the user: a string of characters containing one or several words.
- Your program figures out which day is today (see http://pleac.sourceforge.net/pleac_python/datesandtimes.html for ways of getting date information from the computer), and looks at the Web page for that day only. The day is coded in the URL of the Web page offering the menus.
- Your program reports which house offers one of the words specified by the user in their menu, and displays that word and any accompanying word (for example, the user entered "ROAST", and the program found "Pot Roast" in the menu offered at Cutter-Ziskind.)
- If you do this program, call it hw12a.py and submit it as:
submit hw12 hw12a.py
Problem #2: Poem Generator
- This idea for this problem was submitted by Jack.
- The general idea is taken from http://thinkzone.wlonk.com/PoemGen/PoemGen.htm. Take a look at it and see how it works. Generate some poems.
- Implement the same idea in Python.
- The program contains 9 groups of words:
- concrete nouns : SEA SHIP SAIL WIND ... SUN
- abstract nouns : ADVENTURE COURAGE ENDURANCE ...
- interjections : O OH OOH AH LORD GOD...
- The program also maintains many difference sentence patterns, of the form:
- THE 5 1 6 3S THE 1.
- 5, 5 1S 6 3 A 5, 5 1.
- 2 IS A 5 1.
- NEVER 3 A 1.
- The program contains two (or more) different topics, such as sea or city, and will keep different sets of 9 groups of words for each.
- The patterns are the same for all the topics.
- You must use dictionaries in some way...
- The program will generate 10 random poems on random topics, picking 10 random rules (the same rule can be picked twice or more times)
- Each poem will use a pattern and pick random words in the group specified by the pattern.
- Feel free, of course, to select your own words in the different groups, and to supply your own patterns, but make sure the rules contain both words and numbers!
If you write a program for this problem, call it hw12b.py and submit it as follows:
submit hw12 hw12b.py