【传说中的加密纸条】 -- 2019-08-07 10:43:16
发布时间:2020-12-20 12:45:25 所属栏目:Python 来源:网络整理
导读:原创: http://106.13.73.98/__/185/ """26个英文字母(大写),外加空格,一共27个字符分成3组,每组9个字符,也就是:ABCDEFGHI、JKLMNOPQR、STUVWXYZ* (此处用 * 代替空格)根据当天的日期改变字母的位置: 先根据月份数m,以分组为单位循环左移,移动 (m
原创: 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 time struct_time = time.localtime() # m,d = struct_time.tm_mon,struct_time.tm_mday m,d = 3,8 G = [ ['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)
原创: http://106.13.73.98/__/185/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |