Python中判断是否为闰年,求输入日期是该年第几天

#coding = utf-8
def getLastDay():
    y = int(input("Please input year :"))
    m = int(input("please input month :"))
    d = int(input("Please input day :"))
    s=0
    if y <1:
        y=1
    if m <1:
        m=1
    if m>12:
        m=12
    if d <1:
        d=1
    mothday=[31,28,31,30,31,30,31,31,30,31,30,31]#一年中每个月的天数
    month=mothday[m-1]#获取输入月份的天数
    if d > mothday[m-1]:#判断输入日期是否大于该月天数
        d=d-mothday[m-1]
        m+=1
        month=mothday[m-1]#输入天数大于当月天数后月份加一,重新计算新月天数
    if m>12:
        m=12
    def runnian(y,s):#判断是否为闰年
        t=0
        if (y%400)==0:
            print "是闰年"
            t=1
            s+=1#如果是闰年天数加1
        elif (y%100)!=0 and (y%4)==0 :
            print "是闰年"
            t=1
            s+=1#如果是闰年天数加1
        else :
            print "不是闰年"
            t=0
            s=0
        return t,s
    t,s=runnian(y,s)
    if m==2:
        month= month + t
    print month #返回该月是多少天
    for i in range(0,m-1):
        s= s+ int(mothday[i])
    s=s+d
    print s #返回该日期是该年多少天
getLastDay()

 

posted @ 2015-05-23 18:04  hct118  阅读(1063)  评论(0编辑  收藏  举报