在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是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)
原文:https://www.cnblogs.com/jqpy/p/11781511.html