考生文件夹下存在一个Python源文件“PY301.py”,请按照文件内说明修改代码,实现以下功能。 恺撒密码是一种非常古老的加密算法,相传当年恺撒大帝行军打仗时为了保证自己的命令不被敌军知道,它采用了替换方法将信息中的每一个英文字母循环替换为字母

admin2021-03-16  35

问题 考生文件夹下存在一个Python源文件“PY301.py”,请按照文件内说明修改代码,实现以下功能。
    恺撒密码是一种非常古老的加密算法,相传当年恺撒大帝行军打仗时为了保证自己的命令不被敌军知道,它采用了替换方法将信息中的每一个英文字母循环替换为字母表序列中该字母后面的第三个字母,即循环后三位,对应关系如下。
    原文: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-z和字母A-Z按照密码算法进行转换,同时输出。其他非英文字母原样输出。
    试题程序:
    #以下代码为提示框架
    #请在…处使用一行或多行代码替换
    #注意:提示框架的代码可以任意修改,以完成程序功能为准
    intxt=input("请输入明文:")
    …

选项

答案intxt=input("请输入明文:") for in intxt: if"a"<=p<="z": print(chr(ord("a")+ord(p)-ord("a")+3)%26),end="") else: print(p,end="")

解析 使用for循环遍历输入的每一个字符:如果输入的字符是大小写字母,把该字母替换为该字母后面的第三个字母,将转换后的字母进行输出;如果输入的字符不是大小写字母,则原样输出字符,该部分功能通过if多分支结构实现。
转载请注明原文地址:https://kaotiyun.com/show/iM6p777K
0

最新回复(0)