`string.maketrans()`"如何解密"一个消息?

时间:2014-10-29 01:30:11

标签: python caesar-cipher

有人可以解释这段代码吗?我知道它解密了这条消息,但我很想知道这个过程是如何完成的。

import string

original = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc " \
    "dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq " \
    "rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu " \
    "ynnjw ml rfc spj."

table = string.maketrans(
    "abcdefghijklmnopqrstuvwxyz", "cdefghijklmnopqrstuvwxyzab"
)

print original.translate(table)

1 个答案:

答案 0 :(得分:1)

根据两个字符串的定义,更改a代表c,b代表d,c代替e ...等。

abcdefghijklmnopqrstuvwxyz
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
cdefghijklmnopqrstuvwxyzab

换句话说,它取代了一个字母后面带有2个字母的字母:)

请参阅此处http://www.tutorialspoint.com/python/string_maketrans.htm