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'),设置基数 baseord('a')
    • 如果是大写字母('A' 到 'Z'),设置基数 baseord('A')
    • 如果是非字母字符,直接添加到 encrypted 并继续循环。
  • 计算新位置:使用 (ord(char) - base + 3) % 26 计算加密后的新位置。
  • 转换字符:使用 chr(base + shifted) 将新位置转换为字符,并添加到 encrypted
  • 输出结果:将 encrypted 列表中的字符拼接成字符串并打印。
  • 使用示例

    • 加密示例

      > python3 keesar.py
      > 输入:HELLOWORLD
      > 输出:KHOORZRUOG
    • 解密示例

      > python3 keesar.py
      > 输入:KHOORZRUOG
      > 输出:HELLOWORLD

    注意事项

    • 空白处理:程序会自动处理空格,不会进行加密。
    • 大小写处理:分别处理大写和小写字母,保持大小写不变。
    • 特殊字符处理:非字母字符直接复制到结果中。

    这个程序简单易懂,能够有效地进行凯撒密码的加密或解密,是处理字符串编码问题的实用工具。

    上一篇:RS|高分1号影像预处理
    下一篇:python|基本图形绘制

    发表评论

    最新留言

    做的很好,不错不错
    [***.243.131.199]2025年04月02日 05时35分30秒