CSC111 Homework 9 2011

From dftwiki3
Revision as of 14:05, 15 November 2011 by Thiebaut (talk | contribs) (Requirements)
Jump to: navigation, search

--D. Thiebaut 12:28, 13 November 2011 (EST)


Page under construction!
UnderConstruction.jpg

Problem #1

  • Write a program called hw9a.py that outputs the average length of the presidency of US presidents, categorized by party. Your program should get the information from a file called presidents.txt, whose contents is available here.
If you are working on beowulf, you can get a copy of the file into your account this way:
 getcopy presidents.txt
Note that this file does not have triple double-quotes around the list of presidents, and that it does have a header, i.e. the first line defines what the different fields are, but is not a valid president line.
  • You will get the contents of the file using a statement of the form
  file = open( "presidents.txt", "r" )


Requirements

  • Your program should use functions. Study Homework 7 a second time to get inspiration for your program organization.
  • Your program will assume that if a president is incumbent, his time is the current year (2011) minus the time he came to office. So, for Obama, this would be 2011-2009 = 2 years. Don't use the number 2. Make your program compute the current year minus whatever the year in office is. This way your program can work for future presidents.
  • To get the current year in Python, you need to import the datetime module, as illustrated below. now.year is an integer.
import datetime
now = datetime.datetime.now()
currentYear = now.year 
print( "The current year is", currentYear )


  • The output of your program should be only a few lines long. We do not want to see the list of presidents, but just something like this:
Average length of presidency.
File presidents.txt contains 44 presidents.
Democratic presidents: x.xx years
Republican presidents: x.xx years
Others: x.xx years
  • The number of presidents (44) should be the number found by your program in the text file. When I test your program, I may provide a presidents.txt file with fewer than 44 presidents. Or a file that has just a header and no presidents at all! Or even a file with nothing in it, just empty. Be sure you test your program well so that it doesn't crash on any of these potential input files.

Submission

  • Submit your program as follows:
rsubmit hw9 hw9a.py
if you worked on beowulf, or submit your program using this page: http://cs.smith.edu/~111a/submit9.htm