给出某年月日用python判断这是一年的第几天

给出某年月日用python判断这是一年的第几天

首先月日怎么判断呢?以3月5日为例,就是把两个月的的天数加起来然后加上这个月的天数。同时还有另外一个因素要考虑–如果是闰年且输入月份大于3时需考虑多加一天
我们先来看第一部分,先把要用的年月日定义出来,方便等会从键盘输入。同时我们已经知道如果是第一个月有31天,第二个月是闰年的话是31+28天是59天,第三个月是90天,依此类推。

year=input('year:\n')
year=int(year)
month=input('month:\n')
month=int(month)
day=input('day:\n')
day=int(day)
months=(0,31,59,90,120,151,181,212,243,273,304,334)

我们再来看第二部分,先来个判断,一年正常来说只有12个月,如果不是就是错误的;第二个是闰年的判断,能被400整除的或者被4整除却不能被100整除的,就是闰年。只要月份数大于2,天数就会多一天。

if 0<month<=12:
    sum =months[month-1]
else:
    print('data error')
sum+=day
leap=0
if(year %400 ==0)or ((year%4==0)and(year&100!=0)):
        leap=1
if(leap==1)and (month>2):
            sum+=1
print('it is the %dth day.'%sum)

下面是一个输入的例子

year:
2015
month:
6
day:
7
it is the 158th day.

你可能感兴趣的:(笔记,python)