最早为人所知的加密例子之-一是尤利乌斯●凯撒(Julius Caesarl使用的。凯撒需要向他的将军们提供书面指示,但他不想让敌人知道他的计划,为了避免信息落入敌人的手中,他发明了后来被称为凯撒密码的密码。
这个密码背后的思想很简单(同样,它也没有提供针对现代密码破解技术的保护)。原信息中的每个字母移动了3个位置。结果,A变成了D,B变成了E,C变成了F,D变成了G,等等。字母表中的最后三个字母放在开头: X变成A, Y变成B,变成C。非字母字符不被密码修改。
编写一个实现凯撒密码的程序。允许用户提供消息和移位量然后显示移位后的消息。确保程序同时编码大写和小写字母。程还应该支持负移位值,以便它既可以用于编码消息,也可以用于角码消息
# 设置初始值,移动量
code=(input("请输入要转译的密码"))
count=int(input("请输入移位量"))
#
# 使用for循环,使用ascii码对密码字母进行量化,便于进行转译
# 使用for循环是对每个字母逐个转译,先定义一个空的字符串用于储存转译后的字符串
new_code=""
for i in code:
#当字母为小写字母
if "a"<=i<="z":
# 计算转译后字母位置
# 新的位置等于原来旧的字母位置加上移位量
pos=ord(i)+count
if pos>122:
pos=pos-122+96
else:
pos=pos
i=chr(pos)
new_code=new_code+i
elif "A" <= i <= "Z":
# 计算转译后字母位置
# 新的位置等于原来旧的字母位置加上移位量
pos = ord(i) + count
if pos > 91:
pos = pos - 91 + 64
else:
pos = pos
i = chr(pos)
new_code = new_code + i
print(new_code)