Python基础编程入门实例:恺撒密码

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Python基础编程入门实例:恺撒密码

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


二、程序运行环境


程序运行环境是:pycharm2021



fc4ecf27c656407f84e6e9954c01da20.png


三、恺撒密码:加密


  • 恺撒密码的加密算法程序首先接收用户输入的文本
  • 然后对字母a-z和字母A-Z按照密码算法进行转换


3.1、恺撒密码加密实例程序


0bebd283530c45d0943d6e5a5c866e43.png

# 恺撒密码加密
def Caesar_PW_Encryption():
    inputText = input("请输入明文文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") + 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") + 3) % 26), end='')
        else:
            print(index, end='')


  • 在主函数中调用这个Caesar_PW_Encryption恺撒密码加密函数,如下所示


if __name__ == '__main__':
    # 恺撒密码加密
    Caesar_PW_Encryption()



3.2、恺撒密码加密实例程序运行结果


4feb387dc100452b83eabab2f2f2f999.png


四、恺撒密码:解密


  • 恺撒密码的解密算法程序首先接收用户输入的加密文本
  • 然后对字母a-z和字 母A-Z按照密 码算法进行反向转换


4.1、恺撒密码解密实例程序


c54c921ff31f4135b512ff1a00359d01.png


# 恺撒密码解密
def Ceasar_PW_Decryption():
    inputText = input("请输入加密后文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") - 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") - 3) % 26), end='')
        else:
            print(index, end='')


在主函数中调用这个Caesar_PW_Encryption恺撒密码加密函数,如下所示

if __name__ == '__main__':
    # 恺撒密码加密
    Caesar_PW_Encryption()
    # 恺撒密码解密
    Ceasar_PW_Decryption()

4.2、恺撒密码解密实例程序运行结果

0517858ab31b4a7a80084f5a7f541a03.png

五、完整程序

# 恺撒密码加密
def Caesar_PW_Encryption():
    inputText = input("请输入明文文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") + 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") + 3) % 26), end='')
        else:
            print(index, end='')
# 恺撒密码解密
def Ceasar_PW_Decryption():
    inputText = input("请输入加密后文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") - 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") - 3) % 26), end='')
        else:
            print(index, end='')
if __name__ == '__main__':
    # 恺撒密码加密
    Caesar_PW_Encryption()
    # 恺撒密码解密
    Ceasar_PW_Decryption()


六、总结


本文主要讲解了恺撒密码:采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符。并通过一个实例程序来进一步加强对恺撒密码的理解与运用。

相关文章
|
3天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
3天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
3天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
3天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
15 3
|
4天前
|
机器学习/深度学习 存储 算法
探索Python编程:从基础到高级应用
【10月更文挑战第38天】本文旨在引导读者从Python的基础知识出发,逐渐深入到高级编程概念。通过简明的语言和实际代码示例,我们将一起探索这门语言的魅力和潜力,理解它如何帮助解决现实问题,并启发我们思考编程在现代社会中的作用和意义。
|
5天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
C++ Python
54 python - 类属性、实例属性
54 python - 类属性、实例属性
38 0
|
Python
【从零学习python 】43. Python面向对象编程中的实例属性和类属性
【从零学习python 】43. Python面向对象编程中的实例属性和类属性
78 0
|
Python
【Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
【Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
182 0
【Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
|
Python
【Python零基础入门篇 · 15】:面向对象基础(类和对象)、类属性和实例属性的访问、构造函数
【Python零基础入门篇 · 15】:面向对象基础(类和对象)、类属性和实例属性的访问、构造函数
118 0
【Python零基础入门篇 · 15】:面向对象基础(类和对象)、类属性和实例属性的访问、构造函数