版权声明:本文为博主原创文章,如若转载请注明出处 https://blog.csdn.net/tonydz0523/article/details/83540811
问题来源,玩蛇网http://www.iplaypy.com/python-100/7099.html
问题:
简述:要求输入某年某月某日
提问:求判断输入日期是当年中的第几天?
解答:
逻辑很简单就是根据年判断是否为闰年,然后根据月和日进行天数的相加:
何如闰年:
代码如下:
import numpy as np
year = int(input('year:'))
month = int(input('month:'))
day = int(input('day:'))
#一三五七八十腊,31天永不差
month_31 = [1, 3, 5, 7, 8, 10, 12]
day_list = [31 if i in month_31 else 30 for i in range(1, 13)]
# 判断是平年
if any([year%4!=0,all([year%100==0, year%400!=0])]):
day_list[1] = 28
else:
day_list[1] = 29
# 不用numpy的话可以使用for循环求和
total = np.array(day_list[:month-1]).sum() + day
print('今天为今年的第{}天'.format(total))