原始加密解密
【问题】据传说,最原始的加密解密是使用在罗马军队传递情报的环节中。其原理只是把明文的字母向后移动 k 个位置。比如k=2时,a变成c,b变成d,y则变为a,z变为b。
请据此规则编写加密、解密的程序。
我们不妨假定只对小写字母加密,其它的符号保持不变。
分析:
加密的过程向后移动,遇到z后,再循环回a,这可以用 +k 取模来实现。
解密实际上就是 -k 参数的加密而已。
## 原始的加密解密
def encode(s,k): ## 每个字母后移 k 位
r = ""
for i in s:
if 'a' <= i <= 'z':
n = ord(i)-ord('a')
n = (n + k + 26) % 26
i = chr(ord('a') + n)
r += i
return r
def decode(s,k):
return encode(s,-k)
if __name__ == '__main__':
print(encode('xyz AC 122 abc',2))
print(decode(encode('xyz AC 122 abc', 2),2))
需要补基础的,可以看:小甲鱼pyhthon教程,Bilibili站上还有:[耿老师]小甲鱼python作业 解析系列,持续更新中。