给出某年月日用python判断这是一年的第几天

举报
柯子翼 发表于 2024/01/15 15:48:33 2024/01/15
【摘要】 首先月日怎么判断呢?以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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。