1 问题 4 p% h/ }9 M5 ~+ r3 |/ F
输入年、月、日,要求输出该年份的元旦到该日期总共经过了多少天。(提示:闰年是指能被400整除的年份或者能被4整除但不能100整除的年份)- F0 g! \# K6 [( f C1 y
示例:
+ }) ]1 x6 a) R' W! x9 l8 P4 d 输入:2017,2,1
8 K( }9 N% |3 P. \$ N/ _/ [ 输出:334 2 方法 * @, P! r9 `3 X2 @3 @$ z3 P) u/ y' c
这里提到一种简单的计算方法,使用python第三方库datetime库,并调用datetime库里面的方法对日期进行设置,首先使用a, b, c = map(int,input().split(","))进行年月份输入。
: ]8 `+ Y9 k: j$ {( W 这里将input里面输入的结果以逗号隔开,再将隔开后的值转换成int类型并分别赋值给a,b,c。使用map函数, 将输入的值调用int函数转换成整型。& a3 v8 }! Z+ |/ L: C( F* T
datetime库里面设置日期的方法是datetime.date(year,month,day),date里面的分别对应年月日。已经输入年月日之后,就要找到元旦当天的日期,如输入的是,2017,2,1。6 T6 {2 G. j# e; o& M {
那下一次元旦节就是2018,1,1。所以可以对元旦节当天进行date()日期设置,设置的值为:data(),里面的参数分别对应上述,输入的年加1,月为1,日为1。然后直接进行做差,找到距下一次元旦的天数。) {4 l6 Z( {' V& k' S+ h% G) v8 H
3 实验结果与讨论
% \9 ]) N. Z( b( S% @8 ~* R 通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。1 `' W4 F9 E- |
'''
data(year,month,day)设置年月日
'''
from datetime import *
a, b, c = map(int,input().split(","))
num = date(a, b, c)
yuan_dan = date(num.year+1,1,1)
jisuan = yuan_dan-num
print(jisuan)4 结语 0 @; G8 K) r+ H! Q+ g9 g
本文章使用python内置第三方库计算出某一天距元旦的天数,使用内置第三方库计算是非常方便的,在datetime中,是自动判断是否是闰年,这样在写代码的时候就省去了判断是闰年的条件语句。