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()


六、总结


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

相关文章
|
5天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
2天前
|
数据采集 存储 数据处理
Python中的多线程编程及其在数据处理中的应用
本文深入探讨了Python中多线程编程的概念、原理和实现方法,并详细介绍了其在数据处理领域的应用。通过对比单线程与多线程的性能差异,展示了多线程编程在提升程序运行效率方面的显著优势。文章还提供了实际案例,帮助读者更好地理解和掌握多线程编程技术。
|
1天前
|
设计模式 缓存 开发者
Python中的装饰器:从入门到实践####
本文深入探讨了Python中强大的元编程工具——装饰器,它能够以简洁优雅的方式扩展函数或方法的功能。通过具体实例和逐步解析,文章不仅介绍了装饰器的基本原理、常见用法及高级应用,还揭示了其背后的设计理念与实现机制,旨在帮助读者从理论到实战全面掌握这一技术,提升代码的可读性、可维护性和复用性。 ####
|
5天前
|
存储 人工智能 数据挖掘
Python编程入门:打造你的第一个程序
本文旨在为初学者提供Python编程的初步指导,通过介绍Python语言的基础概念、开发环境的搭建以及一个简单的代码示例,帮助读者快速入门。文章将引导你理解编程思维,学会如何编写、运行和调试Python代码,从而开启编程之旅。
27 2
|
6天前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
16 1
|
8天前
|
存储 网络协议 IDE
从零起步学习Python编程
从零起步学习Python编程
|
7天前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
17 0
|
数据安全/隐私保护 Python 机器学习/深度学习
|
数据安全/隐私保护 Python
python批量修改SecureCRT会话密码
#利用python批量修改SecureCRT 会话密码 # -*- coding:utf-8 -*- import os,re def CRT_Path(path,*args,**kwargs):     for (dirpath, dirnames, filenames) in os.
1077 0
下一篇
无影云桌面