【说站】凯撒密码python编程简单
2023-06-13 09:13:17 时间
凯撒密码python编程简单
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攻防-暴力激活成功教程附近局域网WIFI密码「建议收藏」
- 几行 Python 代码就可以提取数百个时间序列特征
- python格式化转换_Python进制转换format格式化[通俗易懂]
- python数组拼接字符串_Python练习题——数组拼接
- python之多线程
- python tkinter库 密码实时显示_python tkinter库实现气泡屏保和锁屏
- gyp ERR! stack Error: Can't find Python executable 'python'
- python setattr函数_Python内置函数(53)——setattr
- h5 Python_python做h5网站
- 【视频】随机波动率SV模型原理和Python对标普SP500股票指数预测|数据分享|附代码数据
- 盘点一个使用Python实现图片文件名去重的实战案例
- 人生苦短,我用Python-手把手教你如何使用python写串口调试助手
- 【手把手教程】一文学会使用Sublime搭建轻量级的C语言gcc编译运行环境和Python运行环境(含所有配置流程及脚本)
- PYTHON 用几何布朗运动模型和蒙特卡罗MONTE CARLO随机过程模拟股票价格可视化分析耐克NKE股价时间序列数据|附代码数据
- 监控网卡流量python代码详解编程语言
- python实现将文本转换成语音的方法详解编程语言
- python datetime库使用代码详解编程语言
- python中的虚函数详解编程语言
- python任意进制加法详解编程语言
- Python学习之路 (五)爬虫(四)正则表示式爬去名言网详解编程语言
- python_day28_模块学习3详解编程语言
- Python时间,日期,时间戳之间转换,时间转换时间戳,Python时间戳转换时间,Python时间转换时间戳详解编程语言
- Python如何使用MySQL构建立连接(python怎么连接mysql)
- 从零学Python之入门(二)基本数据类型
- Node.js与PHP、Python的字符处理性能对比