first_char=ord(' ') #循环字符表中的第一个字符的ASCII码值
n=96 #循环字符表的字符总数
def newChar(x,key):
xid=ord(x)-first_char
yid=(xid+key)%n
y=chr(first_char+yid)
return y
def Caeser(chars,key):
newChars=''
for x in chars:
if 'a'<=x<='z' or 'A'<=x<='Z':
newChars=newChars+newChar(x, key)
else:
newChars=newChars+x
return newChars
#加密
chars='Attack Tonight!'
key=2
print(Caeser(chars, key))
#解密
chars='Cvvcem Vqpkijv!'
key=2
print(Caeser(chars, -key))