我需要在21世纪的每个复活节星期天印刷。我需要确定月份:4(四月),当日期d
不超过30;如果它更大,那么我需要将其转换为5月份的适当日期。例如,d=32
将是m=5, d=2
或5月2日。你知道吗
import calendar
import datetime
def easter():
for y in range(2001, 2101):
m2 = 2 * (y % 4)
m4 = 4 * (y % 7)
m19 = 19 * (y % 19)
v2 = (16 + m19) % 30
v1 = (6 * v2 + m4 + m2) % 7
p = v1 + v2
d = 3 + p
print ('Easter Sunday for the year', y, 'is',
datetime.date(2015, m, 1).strftime('%B'),
'{}.'.format(int(d)))
easter()
你只需要做一个调整:如果一天超过30天,增加从4月到5月的月份,减少30天:
部分输出,包括临界情况:
相关问题 更多 >
编程相关推荐