美文网首页
输入一个年月日判断是第几天

输入一个年月日判断是第几天

作者: 知不知上不知知病 | 来源:发表于2018-05-09 23:56 被阅读0次

python练手遇到的一个问题花了一点时间写个统一公式,不用麻烦的分各种类,如果有人测试出错误请评论通知,本人新手,欢迎交流。

分单双月

def dayNum(month,day,isLeap):

if month % 2 != 0:
    if month == 1:
        days = day
    else:
        days = (month - 1) * 30.5 - 2 + (month // 9) + day + isLeap
else:
    if month == 2:
        days = 31 + day
    else:
        days = (month - 1) * 30.5 - 1.5 + day + isLeap
return days

归类统一不分单双月

def dayNumPro(month,day,isLeap):

#月份大于九月时会出现差异
num = ((month // 9) and (month % 2 != 0))
if month == 1:
    days = day
elif month == 2:
    days = 31 + day
else:
    days = (month - 1) * 30.5 - 1.5 - (month % 2)*0.5 + day + isLeap + num
return days

def dayOfYear():

year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日:"))
#判断是否是闰年(取真假1,0来参与运算不用分类)
isLeap = (year % 4 == 0) and (year % 400 != 0)
days = dayNumPro(month,day,isLeap)
print(days)

dayOfYear()

相关文章

网友评论

      本文标题:输入一个年月日判断是第几天

      本文链接:https://www.haomeiwen.com/subject/dwearftx.html