【传说中的加密纸条】 -- 2019-08-07 10:43:16

【传说中的加密纸条】 -- 2019-08-07 10:43:16,第1张

概述原创: http://106.13.73.98/__/185/ """26个英文字母(大写),外加空格,一共27个字符分成3组,每组9个字符,也就是:ABCDEFGHI、JKLMNOPQR、STUVWXYZ* (此处用 * 代替空格)根据当天的日期改变字母的位置: 先根据月份数m,以分组为单位循环左移,移动 (m-1) 次 在根据日期数d,将每个分组内的字符循环左移,移动

原创: http://106.13.73.98/__/185/

"""26个英文字母(大写),外加空格,一共27个字符分成3组,每组9个字符,也就是:ABCDEFGHI、JKLMnopQR、STUVWXYZ*  (此处用 * 代替空格)根据当天的日期改变字母的位置:    先根据月份数m,以分组为单位循环左移,移动 (m-1) 次    在根据日期数d,将每个分组内的字符循环左移,移动 (d-1) 次这里以3月8号为例:    首先移动分组,3月需要循环左移2次,变成:STUVWXYZ*、ABCDEFGHI、JKLMnopQR    然后根据组内字符,8号需要循环左移7次,最终的编码为:Z*STUVWXY、HIABCDEFG、QRJKLMnop如果在3月8号传递信息“HAPPY”,那么H位于第2组的第1个,A位于第2组的第3个,P位于第3组的第9个,Y位于第1组的第9个所以最终的编码为:21 23 39 39 19"""import timestruct_time = time.localtime()# m,d = struct_time.tm_mon,struct_time.tm_mdaym,d = 3,8G = [    ['A','B','C','D','E','F','G','H','I'],['J','K','L','M','N','O','P','Q','R'],['S','T','U','V','W','X','Y','Z','*']]for i in range(m-1):    G.append(G.pop(0))for i in range(d-1):    for g in G:        g.append(g.pop(0))for i in 'HAPPY':    for g in G:        if i in g:            print(G.index(g) + 1,g.index(i) + 1)

实现方式二:通过索引加1余长度:

实现方式三:Python独有的赋值方式:

for i in range(m-1):    G[0],G[1],G[2] = G[1],G[2],G[0]for i in range(d-1):    for g in G:        g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8] = g[1],g[8],g[0]

原创: http://106.13.73.98/__/185/

总结

以上是内存溢出为你收集整理的【传说中加密纸条】 -- 2019-08-07 10:43:16全部内容,希望文章能够帮你解决【传说中的加密纸条】 -- 2019-08-07 10:43:16所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1195352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存