Question: Question: Write a function in Python that is passed a year, a month and a day, and then returns the season, and the number of

Question: Write a function in Python that is passed a year, a month and a day, and then returns the season, and the number of days past since the beginning of this season as a two-element list. For the purposes of this lab, you may assume that spring, summer, autumn, and winter begin on the 21st day of March, June, September, and December, respectively. Make sure to pay attention to leap years (google how to check for leap years).

If program is passed an invalid entry for the month or the day, the program should return ['invalid month', -1] or ['invalid day', -1], respectively. If passed both an invalid month and an invalid day, the program should return ['invalid month', -1].

Sample Inputs and Outputs:

Inputs: seasons(year, month, day)

seasons(1998, 3, 22) seasons(1998, 0, 40) seasons(1998, 1, 32) seasons(1998, 2, 29) seasons(2000, 2, 29) 

Output

['spring', 1] ['invalid month', -1] ['invalid day', -1] ['invalid day', -1] ['winter', 70] 

Hints:

  • You may find creating a list of days for each month helpful for your calculation.

  • Be careful with winter, as it extends over the end of the year.

  • You may want to calculate the number of days between Jan 1 and the input date.

The initial code given:

def seasons(year, month, day): """ (int, int, int) -> [str, int] A function that is passed a month and day, determines the season, and then calculates the number of days since the current season begins and returns the season and days as a two element list.

Students may assume that the seasons begin on the 21st day of March, June, September and December. Student SHOULD consider leap year.

Please refer to the handout for test cases and error conditions. """

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!