
python|基本数据类型
读取输入:使用 初始化空列表: 遍历每个字符:使用 判断字符类型: 计算新位置:使用 转换字符:使用 输出结果:将
发布日期:2021-05-07 17:45:23
浏览次数:22
分类:精选文章
本文共 1118 字,大约阅读时间需要 3 分钟。
凯撒密码是一种经典的替换加密方法,通过将字母表中的每个字母循环移动固定的位数来实现加密和解密。以下是实现凯撒密码的Python程序,该程序能够对输入的字符串进行加密或解密。
凯撒密码程序
a = input().strip()encrypted = []for char in a: if 'a' <= char <= 'z': # 处理小写字母 base = ord('a') elif 'A' <= char <= 'Z': # 处理大写字母 base = ord('A') else: # 非字母字符直接添加 encrypted.append(char) continue # 计算新的位置 shifted = (ord(char) - base + 3) % 26 new_char = chr(base + shifted) encrypted.append(new_char)print(''.join(encrypted))
代码解释
input().strip()
读取用户输入并去除首尾空格。encrypted
用于存储加密后的字符。for char in a
遍历输入字符串中的每个字符。- 如果是小写字母('a' 到 'z'),设置基数
base
为ord('a')
。 - 如果是大写字母('A' 到 'Z'),设置基数
base
为ord('A')
。 - 如果是非字母字符,直接添加到
encrypted
并继续循环。
(ord(char) - base + 3) % 26
计算加密后的新位置。chr(base + shifted)
将新位置转换为字符,并添加到 encrypted
。encrypted
列表中的字符拼接成字符串并打印。使用示例
-
加密示例:
> python3 keesar.py> 输入:HELLOWORLD> 输出:KHOORZRUOG
-
解密示例:
> python3 keesar.py> 输入:KHOORZRUOG> 输出:HELLOWORLD
注意事项
- 空白处理:程序会自动处理空格,不会进行加密。
- 大小写处理:分别处理大写和小写字母,保持大小写不变。
- 特殊字符处理:非字母字符直接复制到结果中。
这个程序简单易懂,能够有效地进行凯撒密码的加密或解密,是处理字符串编码问题的实用工具。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月02日 05时35分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Dijkstra算法的总结
2019-03-04
C语言的运算符和表达式
2019-03-04
Vue实现选项卡功能
2019-03-04
uni-app请求头中携带token
2019-03-04
vue中接收后台的图片验证码并显示
2019-03-04
Vue入门学习笔记(1)
2019-03-04
趣谈win10常用快捷键
2019-03-04
数学建模更新12(数学线性规划模型1)
2019-03-04
Android,SharedPreferences的使用
2019-03-04
两款用于检测内存泄漏的软件
2019-03-04
王爽 《汇编语言》 读书笔记 三 寄存器(内存访问)
2019-03-04
OSI 7 层网络模型
2019-03-05
JDK 内置的多线程协作工具类的使用场景
2019-03-05
Java 中哪些对象可以获取类对象
2019-03-05
linux 的 sleep 命令
2019-03-05
11.2.6 时间值的小数秒
2019-03-05
Redis源码分析(七)--- zipmap压缩图
2019-03-05