• 技术文章 >Python技术 >Python基础教程

    凯撒密码python编程简单

    小妮浅浅小妮浅浅2021-05-24 09:47:52原创17314

    1、说明

    凯撒密码是古罗马凯撒大帝为了解密军事情报而使用的算法。将信息中的每个英语文字循环替换为文字表序列中的第三个字符。有一套专门的字母表对应关系。

    2、注意

    密文是大写字母,在变换加密之前把明文字母都替换为大写字母。

    如果是加密,输出的密文是大写字母,如果是解密,按照凯撒解密后,转换为小写后,输出解密后的明文。

    3、实例

    from string import ascii_lowercase
    s=input()  # 输入一个字符串s
    str1=''    # 声明一个字符串str1并赋值''
    for i in s:  # 遍历s,我改了下源代码,这个更方便
        if i in ascii_lowercase:  # 如果i是小写字母,string.ascii_lowercase直接对应从a到z的字符串
            temp=ord(i)    # 获取i对应的ascii码
            num=(temp-97+3)%26  # 凯撒加密,应该是每个字母向后移动三位,a->d, b->e...x->a, y->b, z->c
            str1=chr(num+97)  # ascii码a是从97开始的,所以上一步要-97,这一步要+97
            print(str1,end="")  # 显示结果
        else:
            print(" ",end="")  # 如果不是小写字母,则直接打印空白
     
     
    # 如果s的长度特别长,每次都从a-z长度的字符串里找效率不是很高,可以试试以下代码,所有功能都一样
    s=input()  # 输入一个字符串s
    str1=''    # 声明一个字符串str1并赋值''
    for i in s:  # 遍历s,我改了下源代码,这个更方便
        temp=ord(i)    # 获取i对应的ascii码
        if 97<=temp<=122 :  # 如果i是小写字母, 因为字母a的ascii码就是97,z的ascii码是122
            num=(temp -94)%26  # 凯撒加密,应该是每个字母向后移动三位,a->d, b->e...x->a, y->b, z->c
            str1=chr(num+97)
            print(str1,end="")  # 显示结果
        else:
            print(" ",end="")  # 如果不是小写字母,则直接打印空白

    以上就是凯撒密码python编程简单的介绍,相信大家已经对凯撒密码有了初步的了解,学会后赶快动手试试吧。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python 凯撒密码
    上一篇:判断水仙花数python代码 下一篇:python最短路径有哪些算法

    相关文章推荐

    • python实例方法中self的作用• python变量中self的添加• python从键盘输入若干个整数• python中slice的三个参数• python归并排序的基本思路• python快速排序的运作过程• python归并排序和快速排序比较• python Tkinter模块是什么• python美元转换成人民币转换代码• python命名关键字参数的使用注意• python如何防止栈溢出

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网