赞
踩
凯撒密码是密码学中一种简单且广为人知的加密技术,其本质是将明文中的所有字母按照字母表的顺序向后偏移固定数目后变成密文。
例如:当偏移数目为3时,字母a映射成d,字母p映射成s,字母x映射成啊,……试编写程序,实现以下功能:
(1)提醒用户输入偏移数目,自动生成字母映射字典。例如,当用户输入偏移数目为3时,生成字典内容为:
{'a':'d','b':'e','c':'f',……,'w':'z','x':'a','y':'b','z':'c'}
(2)提醒用户输入明文,根据字典映射关系对明文进行加密,并将密文输出。
- n=input()
- n1=int(input()) #大写
- n2=int(input()) #小写
- for i in range(len(n)):
- if n[i] == ' ':
- print(' ', end="")
- elif chr(ord('a')+26-n2)<=n[i]<='z':
- print(chr(ord(n[i])-(26-n2)),end='')
-
- elif chr(ord('A')+26-n1)<=n[i]<='Z':
- print(chr(ord(n[i])-(26-n1)),end='')
-
- elif 'a'<=n[i]<chr(ord('a')+26-n2):
- print(chr(ord(n[i])+n2),end='')
-
- elif 'A'<=n[i]<chr(ord('A')+26-n1):
- print(chr(ord(n[i])+n1),end='')
-
- else:
- print(n[i],end='')
其中第一行输入明文(仅大小写英文字符)
第二行输入大写字母偏移量
第三行输入小写字母偏移量
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。