600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 1202 今天是一个特别又美好的日子 世界完全对称日

1202 今天是一个特别又美好的日子 世界完全对称日

时间:2020-05-21 15:35:05

相关推荐

1202 今天是一个特别又美好的日子 世界完全对称日

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

这样的对称日,时间间隔并不固定,最近的四次分别是1月2日(0102)、1月2日(0102)、11月2日(1102)和2月2日(0202);但是再往前的一次居然要追溯到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 = 0for 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

1021 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 0102 1102 0202 1202

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

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

3023 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

4024 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

5025 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

6026 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

7027 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

8028 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

9029 92100129 9211112992200229 92200229

9220022992211229 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://​/forums/PythonTogetherhttp://xn--https-kt3b///forums/PythonTogether

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。