閏年的計算方法:
1、非整百年:能被4整除的為閏年。
2、整百年:能被400整除的是閏年。
3、對於數值很大的年份:這年如果能被3200整除,並且能被172800整除則是閏年。如172023年是閏年
82023年不是閏年(因為雖然能被3200整除,但不能被172800整除)。
閏年分為普通閏年和世紀閏年。
1、普通閏年:能被4整除但不能被100整除的年份為普通閏年。(如2023年就是閏年,2023年不是閏年);
2、世紀閏年:能被400整除的為世紀閏年。(如2023年是世紀閏年,2023年不是世紀閏年)。
i =
input
(f"請輸入年月日(格式為:2019-5-26):"
)l = i.split(
"-")
year =
int(l[0]
)month =
int(l[1]
)day =
int(l[2]
)months =(0
,31,59
,90,120
,151
,181
,212
,243
,273
,304
,334
)
day_sum =0if
(year%4==
0)or(year %
100!=0)
and(year%
400==0)
:if0if month >2:
day_sum = months[month-1]
+ day +
1else
: day_sum = months[month-1]
+ day
else
:print
("資料錯誤"
)else:if
0if month >2:
day_sum = months[month-1]
+ day
else
: day_sum = months[month-1]
+ day
else
:print
("資料錯誤"
)print
(f"這一天是這一年的第天"
)方法二:
year =
int(
input
('year:'))
month =
int(
input
('month:'))
day =
int(
input
('day:'))
day_sum =
0months =(0
,31,59
,90,120
,151
,181
,212
,243
,273
,304
,334)if
0< month <=12:
day_sum = months[month -1]
else
:print
('資料錯誤。'
)day_sum += day
leap =0if
(year %
400==0)
or((year %4==
0)and(year %
100!=0)
):leap =1if
(leap ==1)
and(month >2)
: day_sum +=
1print
(f'共計有 天。'
)
輸入某年某月某日,判斷這一天是這一年的第幾天?
案例 輸入某年某月某日,判斷這一天是這一年的第幾天?方法一 system.out.println 輸入某年某月某日 scanner sc new scanner system.in system.out.println 年 int year sc.nextint system.out.println...
輸入某年某月某日,判斷這一天是這一年的第幾天?
解題思路 因為平年和閏年的2月時間不一樣,所以要先判斷是平年還是閏年。接著根據switch語句,把所輸入的月份分開算,前面的月份所經歷的時間,加上本月的第一幾天日期。因為從2月後開始,每個月的計算都要判斷一下平年還是閏年,所以把這個寫成了乙個函式。這樣寫 還是有點兒多,也可以一開始就判斷是平年還是閏...
輸入某年某月某日,判斷這一天是這一年的第幾天
分析方式 以具體的某個月份為例,例如2019年3月5號,先把前兩個月的天數加起來,再加5,特殊情況的是遇到閏年,大於2月的在天數後加1 list 1 0,31,59,90,120,151,181,212,243,273,304,334 float day 0 year int input year ...