描述
恺撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文: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和特殊字符,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中特殊字符不进行加密处理。
此题目是AutoOJ(自动评阅)类型,请注意:
1. 输入使用input(""),不要增加提示信息
2. 输出与要求一致
3. 不考虑异常输入情况
输入
示例1: python is GOOD!
输出
示例1: sbwkrq lv JRRG!
original = input()
password = '' # 创建一个字符串
for item in original:
if item.isalpha(): # 返回是否是字母
if item in ['x', 'y', 'z', 'X', 'Y', 'Z']: # 这是最后三个边界
password = password+chr(ord(item)-23)
else:
password = password+chr(ord(item)+3) # 直接取之后的第三个字符就行
else: # 特殊符号or空格
password = password+item # 字符串可以直接相加
print(password)
文章来源:https://www.toymoban.com/news/detail-431819.html
文章来源地址https://www.toymoban.com/news/detail-431819.html
到了这里,关于Python学习15:恺撒密码 B(python123)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!