这是 python 中的 rot13 函数:
from string import ascii_lowercase
def rot13(string):
l = list(ascii_lowercase)
nl = [l[:13],l[13:]]
tr_dict1 = dict(zip(nl[0], nl[1]))
tr_dict2 = dict(zip(nl[1], nl[0]))
#print tr_dict1
#print tr_dict2
for char in string:
if char in tr_dict1:
string = string.replace(char, tr_dict1[char])
if char in tr_dict2:
string = string.replace(char, tr_dict2[char])
print string
string = raw_input('Enter string: ')
rot13(string)
为什么它翻译bo
成bb
而不是ob
?如果你b
单独输入,它会被翻译成o
.