|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 13572044595 于 2019-1-13 20:41 编辑
描述
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B
对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26
假设用户可能使用的输入包含大小写字母a~zA~Z、空格和特殊符号,请编写一个程序,对输入字符串进行恺撒密码加密,直接输出结果,其中空格不用进行加密处理。使用input()获得输入。
- temp = input()
- ZM = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- zm = 'abcdefghijklmnopqrstuvwxyz'
- for each in temp:
- if each in zm:
- i = zm.index(each)
- c = zm[(i + 3) % 26]
- temp.replace(each, c)
- print(each, c)
- print(temp)
复制代码
求助:
不考虑大写字母的情况下,我的程序这条 ‘temp.replace(each, c)’ 好像没作用,我用错了吗?
temp=temp.replace(each, c)
|
|