def day_to_year(days): year = 1970 while days > 0: if is_leap_year(year): days -= 366 else: days -= 365 year += 1 return year - 1
def day_to_year(days): year = ORIGIN_YEAR while days > 0: if is_leap_year(year): days -= 366 else: days -= 365 year += 1 return year - 1
def day_to_year(days): year = origin_year while days > 365: if is_leap_year(year): if days > 366: days -= 366 year += 1 else: days -= 365 year += 1 return year
def day_to_year(days): year = origin_year while days > 365: if is_leap_year(year): # what about if leap year and days == 366 if days > 366: days -= 366 year += 1 else: days -= 365 year += 1 return year
def day_to_year(days): ''' Given a number of days from January 1st 1970, return the year. ''' year = 1970 while days > 365: if is_leap_year(year): if days > 366: days -= 366 year += 1 else: days -= 365 year += 1 return year
def doy2cal(year, doy): if is_leap_year(year): doy_until_last_month = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 ] else: doy_until_last_month = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 ] # Search for i, dulm in enumerate(doy_until_last_month): if doy <= dulm: month = i day = doy - doy_until_last_month[i - 1] break return [year, month, day]
def cal2doy(cal_date): ymd_str = cal_date.split('-') ymd_int = [] # Convert strings to integers for item in ymd_str: ymd_int.append(int(item)) ymd0 = ['year', 'month', 'day'] ymd = dict(zip(ymd0, ymd_int)) months = range(1, 13) doy_until_last_month = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ] doy_until_last_month = dict(zip(months, doy_until_last_month)) doy = doy_until_last_month.get(ymd.get('month')) + ymd.get('day') doy = (doy + int(is_leap_year(ymd.get('year')))) if ymd.get('month') > 2 else doy return doy
def test_a(self): is_leap_year.is_leap_year(-100)
def test_true(self): assert is_leap_year.is_leap_year(400) == True
def test_exception_typeerror(self): with pytest.raises(TypeError): is_leap_year.is_leap_year('ss')
def test_is_leap_year(): assert is_leap_year(2004) assert not is_leap_year(2019) assert not is_leap_year(2100) assert is_leap_year(4000)
def test_is_typeerror(self, is_type_error): with pytest.raises(TypeError): is_leap_year.is_leap_year(is_type_error)
def test_is_leap(self, is_leap_y): assert is_leap_year.is_leap_year(is_leap_y) == True