2014-10-29 26 views
-5

有人可以解釋這段代碼嗎?我知道它解密了這個消息,但我很想知道這個過程是如何完成的。`string.maketrans()`如何「解密」一條消息?

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) 
+6

你看看文檔['str.translate'(HTTPS信://docs.python.org/2/library/stdtypes.html#str.translate)? – BrenBarn 2014-10-29 01:32:24

回答

1

根據兩個字符串的定義,將c,b改爲d,c替換e ...等。

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

換句話說,它取代了一封信吧:) 2個字母后

看到這裏http://www.tutorialspoint.com/python/string_maketrans.htm