给出某年月日用python判断这是一年的第几天
【摘要】 首先月日怎么判断呢?以3月5日为例,首先,我们来看日期的计算方法。以3月5日为例,计算方式是将前两个月的天数相加,再加上当前月份的天数。同时,如果是闰年且输入的月份大于2(即3月之后),还需要考虑多加一天。接下来,我们先定义需要用到的年、月、日变量,以便稍后从键盘输入。同时,我们已经知道1月有31天,2月在闰年时有29天(平年是28天),所以前两个月的总天数是31+29=60天,第三个月是9...
首先月日怎么判断呢?以3月5日为例,首先,我们来看日期的计算方法。以3月5日为例,计算方式是将前两个月的天数相加,再加上当前月份的天数。同时,如果是闰年且输入的月份大于2(即3月之后),还需要考虑多加一天。
接下来,我们先定义需要用到的年、月、日变量,以便稍后从键盘输入。同时,我们已经知道1月有31天,2月在闰年时有29天(平年是28天),所以前两个月的总天数是31+29=60天,第三个月是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个月,如果输入的月份不在1到12之间,就应该提示错误。
闰年判断:根据公历规定,能被400整除的年份,或者能被4整除但不能被100整除的年份为闰年。因此,在判断是否为闰年时,我们可以使
在这段代码中,首先判断年份是否能被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.
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)