每日一练 no.4

版权声明:本文为博主原创文章,如若转载请注明出处 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))

猜你喜欢

转载自blog.csdn.net/tonydz0523/article/details/83540811
今日推荐