python中的短Rot(N)解码函数

时间:2017-11-30 18:31:26

标签: python decode encode

我是python的新手,我想知道如何改变这个rot(n)编码函数

def rot_encode(n):
    from string import ascii_lowercase as lc, ascii_uppercase as uc
    lookup = str.maketrans(lc + uc, lc[n:] + lc[:n] + uc[n:] + uc[:n])
    return lambda s: s.translate(lookup)

print(rot_alpha(13)('Hello World'))

解码功能

我不想使用python的内置功能进行编码或解码,我想重新创建它。

提前致谢

1 个答案:

答案 0 :(得分:1)

您无需重新创建任何内容。只需移动其他方向的字母,即代替rot_encode(13),调用rot_encode(-13)即可对先前编码的字符串进行解码。

x = rot_encode(13)('Hello World')
y = rot_encode(-13)(x)
print(x) # Uryyb Jbeyq
print(y) # Hello World

当然,如果您愿意,也可以将其包装到rot_decode函数中。

def rot_decode(n):
    return rot_encode(-n)