logo CodeStepByStep logo

month_apart

Language/Type: Python if/else parameters return boolean logic

Write a function named month_apart that accepts four integer parameters representing two calendar dates. Each date consists of a month (1 through 12) and a day (1 through the number of days in that month [28-31]). Assume that all dates occur during the same year. The function returns whether the dates are at least a month apart. For example, the following dates are all considered to be at least a month apart from 9/19 (September 19): 2/14, 7/25, 8/2, 8/19, 10/19, 10/20, and 11/5. The following dates are NOT at least a month apart from 9/19: 9/20, 9/28, 10/1, 10/15, and 10/18. Note that the first date could come before or after (or be the same as) the second date. Assume that all parameter values passed are valid.

Sample calls:

  • month_apart(6, 14, 9, 21) should return True, because June 14 is at least a month before September 21
  • month_apart(4, 5, 5, 15) should return True, because April 5 is at least a month before May 15
  • month_apart(4, 15, 5, 15) should return True, because April 15 is at least a month before May 15
  • month_apart(4, 16, 5, 15) should return False, because April 16 isn't at least a month apart from May 15
  • month_apart(6, 14, 6, 8) should return False, because June 14 isn't at least a month apart from June 8
  • month_apart(7, 7, 6, 8) should return False, because July 7 isn't at least a month apart from June 8
  • month_apart(7, 8, 6, 8) should return True, because July 8 is at least a month after June 8
  • month_apart(10, 14, 7, 15) should return True, because October 14 is at least a month after July 15
Function: Write a Python function as described, not a complete program.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? Contact your TA or instructor.

If something seems wrong with our site, please

Is there a problem? Contact us.