python 中的 Short Rot (N) 解码功能

Short Rot (N) decode function in python

我对 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 的内置功能来编码或解码,我想重新创建它。

提前致谢

您不必重新创建任何东西。只需在 other 方向移动字母,即代替 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)