通过使用密码文本查找坐标从网格中提取消息

2024-04-29 02:58:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个解码器,它可以解密密码消息,并通过将字母从密码映射到网格来查找原始消息,因此每两个字母,它都会映射到网格中的一个字母(按列再按行)

EE,DC,FC,AC,BD,AB,CD,FD

    A    B    C    D    E    F
A ['O', '9', 'L', 'K', '4', 'N']
B ['H', 'V', 'U', 'B', 'P', 'X']
C ['D', 'W', '3', 'E', '6', 'A']
D ['5', 'T', 'I', '8', 'J', 'S']
E ['Z', 'M', 'C', 'Q', 'R', '7']
F ['1', 'Y', 'G', '2', '0', 'F']

在这种情况下,消息是“readthis”(EE=r,DC=e,等等…) 从这里开始,这个消息需要放入一个字符串列表中,然后我可以在IDE控制台上打印它

首先我做了一个随机的6x6矩阵

^{pr2}$

到目前为止我的代码。。。在

for char in decode:
    for row in range(0,6,1):
        for column in range(0,6,1):
            if(gridLayout[row][column] == char):
                finaltext+=char[row][column]

我不确定这是否正确


Tags: in网格消息密码for字母rangecolumn
1条回答
网友
1楼 · 发布于 2024-04-29 02:58:53

这是我的解决方案。构建一个dict表,将两个字母的键映射到一个字母的值

keyz=['A','B','C','D','E','F']

matrix = [ 
['O', '9', 'L', 'K', '4', 'N'],
['H', 'V', 'U', 'B', 'P', 'X'],
['D', 'W', '3', 'E', '6', 'A'],
['5', 'T', 'I', '8', 'J', 'S'],
['Z', 'M', 'C', 'Q', 'R', '7'],
['1', 'Y', 'G', '2', '0', 'F']]

rkc=0
decode={}
for row in matrix:
    y=keyz[rkc]
    ckc=0
    rkc = rkc+1
    for col in row:
        x=keyz[ckc]
        decode[x+y]=col
        ckc = ckc + 1

for letter in ["EE","DC","FC","AC","BD","AB","CD","FD"]:
    print decode[letter],

print

编辑:这是一个完整的版本与编码,解码和随机矩阵

^{2}$

相关问题 更多 >