ある日が1年の何日目かを計算する

853 ワード

大まかな考え方入力年月日:1月1日から先月末までの日数に入力した日付値を加える注意:閏年かつ入力月が3より大きい場合は1日多く加算することを考慮する
year = input('year:
') month = input('month:
') day = input('day:
') months = (0,31,59,90,120,151,181,212,243,273,304,334) #0~12 if 0 < month <= 12: sum = months[month - 1] else: print('month error') sum += day leap = 0 if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): # ryear = 1 if (ryear == 1) and (month > 2): sum += 1 print( 'it is the %dth day.' % sum)

うるう年の西暦年は整百あるいは整千の(つまり年の末尾に少なくとも2つの0がある)で、年を400で割って、もし整除することができるならば、うるう年で、整除することができないのは平年で、西暦のその他の年、年を4で割って、もし整除することができるならば、うるう年で、整除することができないのは平年で、例えば1900÷400=4......300は平年で、平年2月は28日です.2000年、2000÷400=5は閏年、閏年2月は29日である.2002年、2002÷4=500......2は平年2004年、2004÷4=501は閏年閏年2月は29天平年2月は28日である.