Day of the Week

In this program you will read the year, month, and day from a file week.in.
1960 12 12
Your program will print out the day of the week for that date.
The day is Monday.

Assume that all the input values will be positive integers. The day will be in the range 1 through 31. The month will be in the range 1 through 12 where 1 is for January and 12 is for December. The year will be a four digit number in the range 1900 through 2100. Assume also that the user enters the correct date.

This algorithm was developed by Rev. Zeller. Let us define the quantities a, b, c, and d as follows:

Important: In our calendar, the year begins in January and ends in December. In the calendar, used in the algorithm, the year begins in March and ends in February. Your program should internally make the adjustment and not expect the user to know this. For example, if in our calendar we have January 2009 (month = 1 and year = 2009), the program will make the adjustment so that month = 11 and year = 2008. If you do not make the adjustment you will not get the right result.

For example, 31 July 1929, gives a = 5, b = 31, c = 29, and d = 19. Similarly, 3 January 1988, gives a = 11, b = 3, c = 87, and d = 19. Make sure you compute the values of a, b, c, and d for various dates by hand before you start coding the algorithm.

Now compute the following quantities:

r gives the day of the week. r = 0 represents Sunday, r = 1 represents Monday, and so on. Write a chained conditional to find the day of the week.

The program that you will be writing will be called Day.py. We will be looking at good documentation, design, and adherence to the coding convention discussed in class. You may use the same variable names used in the problem statement or come up with your own. Your file Day.py have the following header:


#  File: Day.py

#  Description:

#  Student Name:

#  Date Created:

#  Date Last Modified:

import sys

def main():
  # read the year, month, and day
  line = sys.stdin.readline()
  line = line.strip()
  data = line.split()
  year = int (data[0])
  month = int (data[1])
  day = int (data[2])
 
  # compute the day of the week

if __name__ == "__main__":
  main()

You will run your code on the command line as follows:

On Mac or Linux:

python3 Day.py < day.in

On Windows:

python Day.py < day.in