def is_year_leap(year): if year % 4 == 0: return True else: return False def days_in_month(year, month): days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if is_year_leap(year) == True: days[1] = 29 return days[month - 1] def day_of_year(year, month, day): if month < 1 or month > 12: return None elif day < 1 or day > 31: return None elif day > 29 and is_year_leap(year) == True and month == 2: return None elif day > 28 and is_year_leap(year) == False and month == 2: return None day_ = day for i in range(1,month): mo = days_in_month(year,i) day_ += mo return day_ print(day_of_year(2001,2,29))