————————————————

Python凯撒密码加解密


#凯撒密码第一个版本
#加密
pxpt=input("请输入明文文本:")
for p in pxpt:
     if 'a'<=p<='z':
         print(chr(ord('a')+(ord(p)-ord('a')+3)%26),end='')
     elif 'A'<=p<='Z':
         print(chr(ord('A')+(ord(p)-ord('Z')+3)%26),end='')
     else:
         print(p,end='')

#ord('a')+(ord(p)-ord('a')+3)%26
print()     
#解密
pxpt=input("请输入密文文本:")
for p in pxpt
     if 'a'<=p<='z':
         print(chr(ord('a')+(ord(p)-ord('a')-3)%26),end='')
     elif 'A'<=p<='Z':
         print(chr(ord('A')+(ord(p)-ord('Z')-3)%26),end='')
     else:
         print(p,end='')
#ord('a')+(ord(p)-ord('a')-3)%26  
#凯撒密码第二个版本
s1='bag'  #加密
s2='ont'  #解密
d={}
for c in (65,97):   #编码范围
     for i in range(26):   #字母范围
         d[chr(i+c)]=chr((i+13)%26+c)
print(''.join(d.get(c,c) for c in s1))
print(''.join(d.get(c,c) for c in s2))
#凯撒中英文加密
ptxt=input("请输入明文文本:")
for p in ptxt:
     if 'a'<=p<='z':
         print(chr(ord('a')+(ord(p)-ord('a')+3)%26),end='')
     elif 'A'<=p<='Z':
         print(chr(ord('A')+(ord(p)-ord('Z')+3)%26),end='')
     elif 0x4E00<=ord(p)<=0x9FA5:
         print(chr(ord(p)+3),end='')
     else:
         print(p,end='')
posted @ 2022-10-12 19:41  Tjane'Blogs  阅读(903)  评论(0)    收藏  举报