今天的朋友圈被“世界完全对称日”刷屏了!——这个节日是指公历纪年日期中数字左右完全对称的日期。

这样的对称日,时间间隔并不固定,最近的四次分别是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 dtfor 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: passif t==t[::-1]:res.append(t)return restotal = 0
for j in range(1000,10000,100):count = 0for i,d in enumerate(SymmetricalDay(j,100+j)):count += 1total += 1print(d,end='\n' if i%5==4 else '\t')if count!=0: print()print(f'{j}-{100+j},Count:',count)
print('Total:',total)

输出结果:

10011001    10100101    10111101    10200201    10211201
10300301    10400401    10500501    10600601    10700701
10800801    10900901    
1000-1100,Count: 12
11011011    11100111    11111111    11200211    11211211
11300311    11400411    11500511    11600611    11700711
11800811    11900911    
1100-1200,Count: 12
12011021    12100121    12111121    12200221    12211221
12300321    12400421    12500521    12600621    12700721
12800821    12900921    
1200-1300,Count: 12
13011031    13100131    13211231    13300331    13500531
13700731    13800831    
1300-1400,Count: 7
1400-1500,Count: 0
1500-1600,Count: 0
1600-1700,Count: 0
1700-1800,Count: 0
1800-1900,Count: 0
1900-2000,Count: 0
20011002    20100102    20111102    20200202    20211202
20300302    20400402    20500502    20600602    20700702
20800802    20900902    
2000-2100,Count: 12
21011012    21100112    21111112    21200212    21211212
21300312    21400412    21500512    21600612    21700712
21800812    21900912    
2100-2200,Count: 12
22011022    22100122    22111122    22200222    22211222
22300322    22400422    22500522    22600622    22700722
22800822    22900922    
2200-2300,Count: 12
2300-2400,Count: 0
2400-2500,Count: 0
2500-2600,Count: 0
2600-2700,Count: 0
2700-2800,Count: 0
2800-2900,Count: 0
2900-3000,Count: 0
30011003    30100103    30111103    30200203    30211203
30300303    30400403    30500503    30600603    30700703
30800803    30900903    
3000-3100,Count: 12
31011013    31100113    31111113    31200213    31211213
31300313    31400413    31500513    31600613    31700713
31800813    31900913    
3100-3200,Count: 12
32011023    32100123    32111123    32200223    32211223
32300323    32400423    32500523    32600623    32700723
32800823    32900923    
3200-3300,Count: 12
3300-3400,Count: 0
3400-3500,Count: 0
3500-3600,Count: 0
3600-3700,Count: 0
3700-3800,Count: 0
3800-3900,Count: 0
3900-4000,Count: 0
40011004    40100104    40111104    40200204    40211204
40300304    40400404    40500504    40600604    40700704
40800804    40900904    
4000-4100,Count: 12
41011014    41100114    41111114    41200214    41211214
41300314    41400414    41500514    41600614    41700714
41800814    41900914    
4100-4200,Count: 12
42011024    42100124    42111124    42200224    42211224
42300324    42400424    42500524    42600624    42700724
42800824    42900924    
4200-4300,Count: 12
4300-4400,Count: 0
4400-4500,Count: 0
4500-4600,Count: 0
4600-4700,Count: 0
4700-4800,Count: 0
4800-4900,Count: 0
4900-5000,Count: 0
50011005    50100105    50111105    50200205    50211205
50300305    50400405    50500505    50600605    50700705
50800805    50900905    
5000-5100,Count: 12
51011015    51100115    51111115    51200215    51211215
51300315    51400415    51500515    51600615    51700715
51800815    51900915    
5100-5200,Count: 12
52011025    52100125    52111125    52200225    52211225
52300325    52400425    52500525    52600625    52700725
52800825    52900925    
5200-5300,Count: 12
5300-5400,Count: 0
5400-5500,Count: 0
5500-5600,Count: 0
5600-5700,Count: 0
5700-5800,Count: 0
5800-5900,Count: 0
5900-6000,Count: 0
60011006    60100106    60111106    60200206    60211206
60300306    60400406    60500506    60600606    60700706
60800806    60900906    
6000-6100,Count: 12
61011016    61100116    61111116    61200216    61211216
61300316    61400416    61500516    61600616    61700716
61800816    61900916    
6100-6200,Count: 12
62011026    62100126    62111126    62200226    62211226
62300326    62400426    62500526    62600626    62700726
62800826    62900926    
6200-6300,Count: 12
6300-6400,Count: 0
6400-6500,Count: 0
6500-6600,Count: 0
6600-6700,Count: 0
6700-6800,Count: 0
6800-6900,Count: 0
6900-7000,Count: 0
70011007    70100107    70111107    70200207    70211207
70300307    70400407    70500507    70600607    70700707
70800807    70900907    
7000-7100,Count: 12
71011017    71100117    71111117    71200217    71211217
71300317    71400417    71500517    71600617    71700717
71800817    71900917    
7100-7200,Count: 12
72011027    72100127    72111127    72200227    72211227
72300327    72400427    72500527    72600627    72700727
72800827    72900927    
7200-7300,Count: 12
7300-7400,Count: 0
7400-7500,Count: 0
7500-7600,Count: 0
7600-7700,Count: 0
7700-7800,Count: 0
7800-7900,Count: 0
7900-8000,Count: 0
80011008    80100108    80111108    80200208    80211208
80300308    80400408    80500508    80600608    80700708
80800808    80900908    
8000-8100,Count: 12
81011018    81100118    81111118    81200218    81211218
81300318    81400418    81500518    81600618    81700718
81800818    81900918    
8100-8200,Count: 12
82011028    82100128    82111128    82200228    82211228
82300328    82400428    82500528    82600628    82700728
82800828    82900928    
8200-8300,Count: 12
8300-8400,Count: 0
8400-8500,Count: 0
8500-8600,Count: 0
8600-8700,Count: 0
8700-8800,Count: 0
8800-8900,Count: 0
8900-9000,Count: 0
90011009    90100109    90111109    90200209    90211209
90300309    90400409    90500509    90600609    90700709
90800809    90900909    
9000-9100,Count: 12
91011019    91100119    91111119    91200219    91211219
91300319    91400419    91500519    91600619    91700719
91800819    91900919    
9100-9200,Count: 12
92011029    92100129    92111129    92200229    92200229
92200229
    92211229    92300329    92400429    92500529
92600629    92700729    92800829    92900929    
9200-9300,Count: 14
9300-9400,Count: 0
9400-9500,Count: 0
9500-9600,Count: 0
9600-9700,Count: 0
9700-9800,Count: 0
9800-9900,Count: 0
9900-10000,Count: 0
Total: 333

由计算结果可知,之前讲的结论都是正确的;得出新结论有:

1 .有公元纪年以来,前20个世纪只有43个;
2. 从21世纪开始,每100年都有12个;
3. 9200-9300年,python程序重复计算9220.02.29了2次(14-2=2)。

所以,“完全对称日”总共有:43+12x24=331。

程序的执行结果是333个,错误的原因是9220.02.29重复计算了2次,后一个“92200229”实际上是9220.02.30,9220.02.31不存在的日子,不知道是不是python的datetime中转换引起的bug。

(本文完)

欢迎加入CSDN社区!http://​https://bbs.csdn.net/forums/PythonTogetherhttp://xn--https-kt3b//bbs.csdn.net/forums/PythonTogether

20211202 今天是一个特别又美好的日子,世界完全对称日相关推荐

  1. 20200314,今天是一个特别的日子

    20200314,今天是一个特别的日子,想了好多东西想要放在这篇文章里面来写,但是一直没有决定下来,先占一个位置,之后来补充.

  2. 回顾艾维在苹果的15款最经典设计:最后一个特别大

    回顾艾维在苹果的15款最经典设计:最后一个特别大 网易科技讯 6月28日消息,据外媒报道,苹果首席设计官乔尼·艾维(Jony Ive)宣布,他将于今年晚些时候离开公司,并将成立自己的设计公司,苹果将是 ...

  3. 英语入门 (从一个特别的视角来介绍)

    原文:英语入门 (从一个特别的视角来介绍) 我分享一下个人关于英语的简单认知,给想入门学习英语的人一个特别的视角,从而激发学习兴趣和好奇心. 想了解更多,欢迎关注我的微信公众号:Renda_Zhang ...

  4. 一个特别适合新手练习的Android小项目——每日一妹纸

    原文链接 http://sparkyuan.me/ 转载请注明出处 介绍 当前版本V 1.2 刚开始学习Android的时候,主要就是学习了一些Activity的生命周期,各种View和Layout的 ...

  5. 一个特别有意思的算法——锦标赛算法

    我们应该多去研究我们学的专业,并在前辈所总结的知识道理上挖掘出更深的知识. 超越前辈是一种社会主潮流.如果我们这一代比起前辈没有进步,那社会怎么发展. 本篇介绍一个特别有趣的算法--锦标赛算法,运用锦 ...

  6. 激活层是每一层都有吗_每一个成功男人的背后,都有一个特别的妻子吗?

    展开全部 我们常说没有5261完美4102的个人只有完美的团队,在家庭生活中其实1653也是一样的道理,没有完美的婚姻,只有互相扶持的夫妻. 婚姻生活同样是一个需要合作共赢的领域,每一个成功的男人背后 ...

  7. 踩坑了、踩到一个特别无语的常识坑

    大家好 踩坑了啊,又踩坑了啊! 这次踩到一个特别无语的常识坑.知道真相的那一刻,人就是整个麻掉. 先上个代码: private static double calculate(double a, in ...

  8. 人工智能革命:一个在ANI上运行的世界

    如果你像我一样,曾经认为人工智能是一个愚蠢的科幻概念,但最近你一直听到有些严肃的人提到,你才明白你其实没有真正的理解人工智能. 有很多人对AI这个术语感到困惑是因为有三个原因: 1)**我们将AI与电 ...

  9. 一个穆斯林乡佬的清洁世界

    一个穆斯林乡佬的清洁世界   郑州北大街清真寺系列之一 ● 齐岸民 村长摄影配图     在布谷鸟嘹亮放歌的麦收季节,我在郑州北大街清真寺屋脊上发现了那只布谷鸟,它先是在寺内的石碑上端歇息,然后轻盈翻 ...

最新文章

  1. 从GNOME切换到KDE了
  2. oracle 关联出现重复数据,ORACLE 分页查询出现重复记录的解决办法
  3. GitHub开源新命令行工具:在终端里创建、管理PR成现实
  4. PMP-【第2章 项目运行环境与项目经理】2021-1-4(49页-60页)
  5. JavaScript ES6箭头函数指南
  6. 计算机相关专业学习经验总结
  7. vue打包后css路径_Vue打包后访问静态资源路径问题
  8. openstack rocky 安装_北京暖气安装费用-上海装修报价
  9. SAP低代码开发(Low Code Development)解决方案的一些使用截图
  10. 表字段注释放在哪_橱柜台面6种材质优缺点大解剖,我来测评,告诉你哪一种适合你!...
  11. springcloud项目的启动顺序_Spring Cloud微服务项目完整示例,含注册中心,网关,断路器等等...
  12. Jetson nano安装Pytorch详解
  13. [Err] 1093 - You can't specify target table 's' for update in FROM clause
  14. Datawhale编程学习之栈和队列(2)
  15. 黑客的克星或叫“白客”
  16. 机械设计参考CAD零件图纸常用素材资料(300张)
  17. 单片机备用电池供电电路_单片机usb供电电路原理图详解
  18. 超详细的Linux常用命令锦集,推荐收藏!!!【持续更新】
  19. HUAWEIWATCH GT3有哪些功能?华为新款手表测评
  20. Redis6.0以后版本安装报错问题

热门文章

  1. mysql数据流图怎么做_数据流图的画法以及实例(精选)
  2. 华大智造科创板上市:募资36亿市值413亿 汪健再敲钟
  3. 闵春榕:PCIE SSD在数据库优化中的应用
  4. MySQL之is not null, not in优化
  5. Paddle加载NLP的各类预训练模型方法总结(以文本分类任务为例,包含完整代码)
  6. (与jQuery靠近乎)03-与jQuery的dom瞎搞
  7. oracle 覆盖 impdp,oracle的expdp/impdp的使用
  8. 杨大川:未来BI重点回归客户端
  9. 不要轻易受别人的影响
  10. 变电所的常见故障和解决方案