我是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的内置功能进行编码或解码,我想重新创建它。
提前致谢
答案 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)