原标题:「每日一练」Python实现输入年月日计算第几天
那天碰到一个小伙问我:你数学不是很牛逼吗,那我给你说某一年的某一月的某一天,你能马上给我算出这是那一年的第几天吗?我瞬间哑口无言!
最近,突然想到这个事,用python随便写了几行,轻轻松松的就实现了!
案例
输入某年某月某日,判断这一天是这一年的第几天?
先上代码~
运行效果
题目详述
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:
前三行:
year = int(input('年:\n'))
month = int(input('月:\n'))
day = int(input('日:\n'))
这是用来输入年、月、日的,并将它们转换成数字,赋值给不同的变量
第四行:
months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
除了二月外,其余的上个月月底是今天的第几天
第五行:
if 0 < month <= 12:
sum = months[month - 1]
else:
print('填写的日期错误')
用月来判断,如果大于0,小于等于12,得到上个月月底是今年的第几天
第六行:
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
通过判断是否是瑞年,考虑二月那一天是否加1:
如果是闰年,并且输入的月份大于2,就需要将天数加1,因为闰年的2月是29天
进阶:
轻松的就算出了是当年的第几天
是不是很便捷呢
结束语
总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python可以这么神奇!
———— e n d ————
觉得文章不错的,欢迎点在看和转发返回搜狐,查看更多
责任编辑: