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分:能正确输出三组及以上相差的天数及星期几。
上一题
下一题