#570. 202409中国电子学会Python等级测试(编程题1)

202409中国电子学会Python等级测试(编程题1)

日期问题

小明同学学习Python的函数后,想动手利用函数来解决生活中的问题。于是他突发奇想,输入日期,统计这一天是这一年的第几天。其中,闰年指年份能被4整除但不能被100整除,或者仅能够被400整除。编写的代码如下,请完善划线处的代码。

def isRn(year):           #判断year是否闰年
    if  ①  or year % 400 == 0:
        return 1
    return 0
def jsDays(data):         #计算日期data在这一年是第几天
    s = 0  
    year = int(data[:4])
    month = int(data[4:6])
    day = int(data[6:])
    for i in range(        ②        ):
        s += days[i]
    s += day
    if month > 2 and        ③        :
        s += 1
    return s

def checkRq(data):      #判断输入的日期是否正确
    month = int(data[4:6])
    day = int(data[6:])
    if month <1 or month >12:
        return 0
    if days[month-1]<day or day <1:
        return 0
    return 1
days = [31,28,31,30,31,30,31,31,30,31,30,31]    #定义每个月的天数
rq = input('输入年月日,格式如:20240102\n')
if checkRq(rq):
    d =         ④        
    print(rq,'是这一年的第',d,'天')
else:
    print(rq,'输入的日期有错误')

说明

赋值代码到编辑区域,补充完成后提交测试