关于Python凯撒密码的变式

x 为要加密的字符, y 为凯撒密常数,则加密后的字符的格式为…( x + y )… y
例如 x =' Bb ’ y =2,则加密后变为‘Dd2’,将’Dd2’这条信息发给队友,他用解密程序能够成功获得' Bb'

你题目的解答代码如下:

import re
def psk(s,n):
    li = list(s)
    for i,v in enumerate(li):
        if v.isupper():
            li[i] = chr((ord(v)-ord('A')+n)%26+ord('A'))
        if v.islower():
            li[i] = chr((ord(v)-ord('a')+n)%26+ord('a'))
    return "".join(li)
x = input("请输入一个需要加密的信息:")
y = int(input("请输入秘钥:"))
s2 = psk(x,y)+str(y)
print("加密完的信息为:",s2)
x2, y2 = re.findall(r"^(.+?)(\d+)$",s2)[0]
y2 = 0-int(y2)
s3 = psk(x2,y2)
print("解密完的信息为:",s3)

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img