X19701011 2021-11-17 10:08 采纳率: 71.4%
浏览 177
已结题

python关于凯撒密码求凯撒加密后的字符串,编写代码

【问题描述】

    凯撒密码是古罗马凯撒大帝用来保护重要军情的加密系统。这套密码系统在现在看来很低级,但是在古罗马时期还是发挥了重要作用的。

    凯撒密码的根本思想是按照字母表排列顺序将明文中每个字母变换成其后第n个字母。这里,nn=1~25)被称作秘钥。

    请编写程序,针对不同的输入字符串和移动位数,输出经过凯撒加密之后的字符串。

【输入形式】

第一个输入参数是移动的位数n,中间间隔一个空格之后,第二个输入参数是待加密的原文字符串
【输出形式】

加密后的密文字符串。注意,只加密字母,且不改变字母大小写。待加密的字符串可能存在比如"hello world"的形式,若与第一个参数一起以input的方式输入,在调用split()的时候要注意,会将待加密字符串也一并分割了。split()方法有参数指定分割多少项,建议采用,请上网搜索说明文档。
【样例输入】

5 NUDT
【样例输出】

SZIY
【样例说明】

输入参数中第一个参数'5'表示移动位数n=5,然后将第二个输入参数中每个字母都向后移动5位,得到输出字符串。

  • 写回答

1条回答 默认 最新

  • 技术专家团-Bamboo 2021-11-17 11:54
    关注
    n,s=input().split(' ',1)
    res=''
    for i in s:
        if i.isalpha():
            t=ord(i)+int(n)
            if (i.islower() and t>ord('z')) or (i.isupper() and t>ord('Z')):
                t-=26         
            res+=chr(t)
        else:
            res+=i
    print(res)   
    

    img



     觉得有用的话采纳一下哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月17日
  • 已采纳回答 11月17日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口