python实现简单的恺撒密码加密并输出
描述
恺撒密码是古罗马恺撒⼤帝⽤来对军事情报进⾏加解密的算法,它采⽤了替换⽅法对信息中的每⼀个英⽂字符循环替换为字母表序列中该字符后⾯的第三个字符,即,字母表的对应关系如下:
原⽂: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 Z
密⽂: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 C
对于原⽂字符P,其密⽂字符C满⾜如下条件:C=(P+3) mod 26
上述是凯撒密码的加密⽅法,解密⽅法反之,即:P=(C-3) mod 26
假设⽤户可能使⽤的输⼊包含⼤⼩写字母a~zA~Z、空格和特殊符号,请编写⼀个程序,对输⼊字符串进⾏恺撒密码加密,直接输出结果,其中空格不⽤进⾏加密处理。使⽤input()获得输⼊。
输⼊
并输出⽰例1: python is good
输出
⽰例1: sbwkrq lv jrrg
1 pwd = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
2 before = input() #输⼊要加密的话
3 beforeUp = before.upper() #将输⼊的所有字符变⼤写
4 result = ''
5for i in range(len(before)):
6if beforeUp[i] in pwd: #过滤⾮字母
7        start = pwd.index(beforeUp[i])
8        end = (start+3)%26 #得到在pwd中的下标
9if before[i].islower():
10          result += pwd[end].lower()
11else:
12          result +=pwd[end]
13else:
14        result +=before[i]
15print(result)
⼤家有什么别的好⽅法吗

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。