在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。编程实现恺撒加密,明文和偏移量由用户输入,输出密文。
输入格式
输入包括两行
第一行是一个字符串
第二行是一个正整数
输出格式
一个字符串,内容为用户输入字符串加密的结果
示例 1:
输入:Beautiful is better than ugly.Explicit is better than implicit.
3
输出:Ehdxwlixo lv ehwwhu wkdq xjob.Hasolflw lv ehwwhu wkdq lpsolflw.
代码:
s = input("需要加密的字符串:")
n = int(input("偏移量:"))listS = list(s[:])
newList = []for i in listS:
if i.isalpha():
if 97 <= ord(i) < (122-n) or 65 <= ord(i) < (90-n):
newList.append(chr(ord(i) + n)) else:
newList.append(chr(ord(i) - (26-n)))
else:
newList.append(i)newS = "".join(newList)
print(newS)