在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。编程实现恺撒加密,明文和大小写字母偏移量由用户输入,输出密文。
输入包括三行
第一行是一个字符串
第二行是一个正整数,代表大写字母的偏移量
第三行是一个正整数,代表小写字母的偏移量
l=list(input(""))
a=int(input(""))#代表大写字母的偏移量
b=int(input(""))#代表小写字母的偏移量
for i in range(len(l)):
if chr(ord('z')-b+1)<=l[i]<='z':
l[i]=chr(ord(l[i])-(26-b))
elif chr(ord('Z')-a+1)<=l[i]<='Z':
l[i]=chr(ord(l[i])-(26-a))
elif 'a'<=l[i]<=chr(ord('z')-b):
l[i]=chr(ord(l[i])+b)
elif 'A'<=l[i]<=chr(ord('Z')-a):
l[i]=chr(ord(l[i])+a)
print(''.join(l))
结果:
Beautiful is better than ugly.Explicit is better than implicit.
3
3
Ehdxwlixo lv ehwwhu wkdq xjob.Hasolflw lv ehwwhu wkdq lpsolflw.
***Repl Closed***