计算天数 python

这是一个关于日期处理的算法实现,用于计算输入日期在当年的第几天。程序首先定义了闰年的判断条件,然后根据输入的日期(月、日、年)进行计算,通过预定义的每个月天数数组和闰年判断,输出日期对应的年份的天数累计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据输入的日期,计算该日期是该年的第几天。

输入格式:

测试数据有多组,处理到文件尾。每组测试输入一个具有格式“Mon DD YYYY”的日期。其中,Mon是一个3个字母表示的月份,DD是一个2位整数表示的日份,YYYY是一个4位整数表示的年份。 提示:闰年则是指该年份能被4整除而不能被100整除或者能被400整除。1-12月份分别表示为:Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec。

输出格式:

对于每组测试,计算并输出该日期是该年的第几天。

输入样例:

Oct 26 2003

输出样例:

299

答案提示:

#autho:程相博
def f(a):
    if a%400==0:
        return True
    elif a%100==0:
        return False
    elif a%4==0:
        return True
    else:
        return False
    return True
while True:
    try:
        day=[0,31,59,90,120,151,181,212,243,273,304,334]
        x,y,z=map(str,input().split(' '))
        y=int(y)
        z=int(z)
        m=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
        dict_t=dict(Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12)
        if x in m:
            sum=day[dict_t[x]-1]
            sum+=y
        s=0
        if(f(z)):
            s=1
        if(s==1 and dict_t.get(x)>2):
            sum+=1
        print(sum)
    except:
        break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值