首页 > 代码库 > Python练习题 004:判断某日期是该年的第几天
Python练习题 004:判断某日期是该年的第几天
【Python练习题 004】输入某年某月某日,判断这一天是这一年的第几天?
----------------------------------------------
这题竟然写了 28 行代码!而且还不包含输入数据的验证(只能假设输入的日期是严格按照格式来的)。但我坚信,一定有更简洁的方法,比如 Python 对日期的处理。
不过反正还没学到这些知识,现在只能用傻大粗的办法解决。等学到高级的办法再来更新吧~~~
思路:先判断是否为闰年,这关系到 2 月份的天数。之后再根据月份值把前几个月的天数累积加起来,最后再加上个“日”,就可以了。
1 dat = input(‘请输入某年某月某日,格式为 yyyy-mm-dd :‘) 2 y = int(dat[0:4]) #获取年份 3 m = int(dat[5:7]) #获取月份 4 d = int(dat[8:]) #获取日 5 6 ly = False 7 8 if y%100 == 0: #若年份能被100整除 9 if y%400 == 0: #且能被400整除10 ly = True #则是闰年11 else:12 ly = False13 elif y%4 == 0: #其它情况下,若能被4整除14 ly = True #则为闰年15 else:16 ly = False17 18 if ly == True: #若为闰年,则2月份有29天19 ms = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]20 else:21 ms = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]22 23 days = 024 for i in range(1, 13): #从1到12逐一判断,以确定月份25 if i == m:26 for j in range(i-1): #确定月份i之后,则将ms列表中的前i-1项相加27 days += ms[j]28 print(‘%s是该年份的第%s天。‘ % (dat, (days + d))) #最后再加上“日”,即是答案
请大神帮忙简化下这渣代码。跪谢!
Python练习题 004:判断某日期是该年的第几天
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。