测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A25767. 提示信息:闰年分为普通闰年和世纪闰年。普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年)。世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。总结:四年一闰,百年不闰,四百年再闰。闰年的一年为366天,闰年的二月份为29天。平年一年为365天,平年的二月为28天。每年的1、3、5、7、8、10、12…

填空题 较易

题目描述

提示信息:

闰年分为普通闰年和世纪闰年。

普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年)。

世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。

总结:四年一闰,百年不闰,四百年再闰。

闰年的一年为366天,闰年的二月份为29天。平年一年为365天,平年的二月为28天。

每年的1、3、5、7、8、10、12月份为31天,4、6、9、11月份为30天。

编程实现:

用户输入未来的某一天,输入格式:“2020 .6 .1”,计算和2020年5月30日相差多少天?星期几?(例如:今天和明天是相差一天)。

输入:

2020 .6.1

输出:

2
*1

参考答案

ls1 = input().split(".") ls2 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] a = 0 def c(): global a global i if i % 4 == 0: if i % 400 == 0: a += 1 elif i % 100 != 0: a += 1 else: pass else: pass def d(): global a global i for j in range(1, int(ls1[1])+1): if j == int(ls1[1]): a += int(ls1[2]) elif j == 2: a += ls2[1] c() else: a += ls2[j-1] for i in range(20, int(ls1[0])-1999): if i == 20 and int(ls1[0]) == 2020: for j in range(5, int(ls1[1])+1): if j == 5: a += 1 elif j == int(ls1[1]): a += int(ls1[2]) else: a += ls2[j-1] elif i == int(ls1[0])-2000: d() a -= 151 else: a += 365 c() if (6+a)%7==0: b = 7 else: b = (6+a)%7 print(a) print("*%d" % b)

答案解析

评判标准:

5分:能正确输出一组相差的天数及星期几;

10分:能正确输出两组相差的天数及星期几;

15分:能正确输出三组及以上相差的天数及星期几。

上一题 下一题