20211202 今天是一个特别美好的日子!
【对称日规律 世界对称日有哪些】
文章插图
今天的朋友圈被“世界完全对称日”刷屏了!——这个节日是指公历纪年日期中数字左右完全对称的日期 。
这样的对称日,时间间隔并不固定,最近的四次分别是2010年1月2日(20100102)、2010年1月2日(20100102)、2011年11月2日(20111102)和2021年2月2日(20200202);但是再往前的一次居然要追溯到1380年8月31日,也就是明朝洪武十三年;还有之后的近几十年时间里,每十年都会有一个对称日 。
为验证这些结论是否正确,我来写段代码验证一下结论;顺便也计算一下每个世纪有多少个对称日,以及对称日总数 。根据定义对称日只能是8位数,所以只要在1000.1.1~9999.12.31之间寻找 。代码如下:
def SymmetricalDay(year1,year2):
res = []
import datetime as dt
for i in range(year1,year2):
for j in range(1,13):
for k in range(1,32):
try: t = dt.date(i,j,k).strftime(‘%Y%m%d’)
except: pass
if t==t[::-1]:
res.append(t)
return res
total = 0
for j in range(1000,10000,100):
count = 0
for i,d in enumerate(SymmetricalDay(j,100+j)):
count += 1
total += 1
print(d,end=’n’ if i%5==4 else ‘t’)
if count!=0: print()
print(f'{j}-{100+j},Count:’,count)
print(‘Total:’,total)
由计算结果可知,之前的结论都是正确的;得出新结论有:
1 .有公元纪年以来,前20个世纪只有43个;
2. 从21世纪开始,每100年都有12个;
3. 9200-9300年,python程序重复计算9220.02.29了2次(14-2=2) 。
所以,“完全对称日”总共有:43+12×24=331 。
程序的执行结果是333个,错误的原因是9220.02.29重复计算了2次,后一个“92200229”实际上是9220.02.30,9220.02.31不存在的日子,不知道是不是python的datetime中转换引起的bug 。
- 几号是情人节 日本女性正在抵制 几号是情人节
- 全文作家简介 今日逢君君不识下一句
- 水字几画笔顺怎么写 水字几画笔顺怎么写
- 关于攻和受的意思是什么 攻和受的意思是什么
- pvc是否有毒 pvc有毒吗
- 曹禺(1910年9月24日—1996年12月13日 曹禺简介 曹禺代表作品有哪些)
- 成语解释 描写夏天的四字词语
- 此类小说较多,如:《重生之夏日倾情》 有什么小说类似迁爱的
- 祝生日快乐,天天开心。 闺蜜短句八个字生日
- 不需要支付旷工当日的工资 旷工可以不发工资吗