刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

36.日期问题
小明同学学习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,'输入的日期有错误')

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

题目是关于日期处理和闰年的判断问题。首先,我们需要明确闰年的判断条件,即能被4整除但不能被100整除的年份,或者能被400整除的年份。在代码中,划线处①应填入判断闰年的条件。

接下来,函数jsDays用于计算日期在这一年中是第几天。这需要遍历年份中的每个月份并累加天数,最后加上日期的日数。在代码中,划线处②应填入月份的范围,即从1到12的整数序列或基于days列表的长度。

在函数jsDays中,如果输入的日期在二月之后并且这一年是一个闰年(即二月有29天),则需要额外加一天。因此,划线处③应填入判断是否为闰年的条件。

最后,划线处④应该调用函数jsDays来计算输入的日期在这一年中是第几天,并将结果输出。因此,这里应填入调用函数的代码。

创作类型:
原创

本文链接:36.日期问题小明同学学习Python的函数后,想动手利用函数来解决生活中的问题。于是他突发奇想,输

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share