Python:凯撒密码

devtools/2025/2/13 5:56:04/

题目内容:

凯撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,对应关系如下:

原文: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

原文字符与其密文字符满足如下条件:

密 = (原+3) mod 26

解密方法反之,满足:

原 = (密–3) mod 26

请解密:HAFHOOHQW

输出样例如下:

python">encrypted_text = "HAFHOOHQW"
print(f"待解密码为:{encrypted_text}")
decrypted_text = ""
for char in encrypted_text:if char.isalpha():if char.isupper():original_char = chr((ord(char) - ord('A') - 3) % 26 + ord('A'))else:original_char = chr((ord(char) - ord('a') - 3) % 26 + ord('a'))decrypted_text += original_charelse:decrypted_text += charprint(f"解得密码为:{decrypted_text}")

这段 Python 代码的主要功能是对一个经过简单凯撒密码加密的文本进行解密操作。凯撒密码是一种简单的替换加密方法,它将字母表中的每个字母按照固定的位数进行位移。在这段代码中,加密时字母向右移动了 3 位,因此解密时需要将字母向左移动 3 位。下面是对代码的详细解释:

1. 定义加密文本:将加密后的文本 "HAFHOOHQW" 赋值给变量 encrypted_text,并打印待解密码的信息。

2. 初始化解密文本:创建一个空字符串 decrypted_text,用于存储解密后的文本。

3. 遍历加密文本:使用 for 循环遍历 encrypted_text 中的每个字符。

4. 字符处理

  • 如果字符是字母,则根据其大小写进行不同的处理:
  • 对于大写字母,将其向左移动 3 位,通过计算偏移量并转换为对应的字符。
  • 对于小写字母,同样将其向左移动 3 位。
  • 如果字符不是字母,则直接将其添加到解密文本中。

5. 打印解密结果:将解密后的文本存储在 decrypted_text 中,并打印解得密码的信息。

觉得有帮助就给博主点个关注叭~~

有问题的可以私信或者在评论区一起交流

友友们一起加油叭QAQ


http://www.ppmy.cn/devtools/158400.html

相关文章

OpenVINO 2025.0重磅升级:开启⽣成式AI全场景⾰命!

2025年2⽉6⽇,英特尔OpenVINO™ 2025.0版本震撼发布,本次升级堪称近三年最⼤规模技术⾰新!从⽣成 式AI性能跃升到全栈硬件⽀持,从开发者⼯具链优化到边缘计算突破,六⼤核⼼升级重新定义AI部署效率。 一,&a…

Flink-序列化

一、概述 几乎每个Flink作业都必须在其运算符之间交换数据,由于这些记录不仅可以发送到同一JVM中的另一个实例,还可以发送到单独的进程,因此需要先将记录序列化为字节。类似地,Flink的堆外状态后端基于本地嵌入式RocksDB实例&…

Django:构建高效Web应用的强大框架

在当今快速发展的Web开发领域,选择一个合适的框架对于项目的成功至关重要。Django,作为一个用Python编写的高级Web框架,凭借其强大的功能、灵活性和可扩展性,成为了众多开发者的首选。本文将深入探讨Django的特点、优势以及如何利…

PH热榜 | 2025-02-10

1. 2pr 标语:人工智能帮你把想法变成LinkedIn爆款 或者更口语化一点: AI帮你把点子变成LinkedIn上的热门帖子 介绍:用AI主持的访谈,把你的想法变成LinkedIn爆款帖子。录制你的想法,让AI帮你创作个性化、引人入胜的…

重构应用DeepSeek商城系统开发技术趋势

​在当今科技飞速发展的时代,AI人工智能已成为推动各行业变革的核心力量。DeepSeek 在短短一年多的时间里已经发布了多个版本的模型,包括 DeepSeek LLM、DeepSeek-V2、DeepSeek-V3 以及 DeepSeek-R1 等,每一次发布都在性能和功能上实现了重大…

STM32外设分类--最小系统引脚和GPIO引脚

简介: 本文将stm32f103外设按照功能分个类别,便于记忆。下面的几张图一定要熟悉,后期编写代码时能够快速找到想要的功能和对应的引脚。 使用的工具链是:使用CubeMX完成keil5工程搭建和引脚初始化功能,然后用Keil5编译和调…

【Linux】深入理解linux权限

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、权限是什么 二、用户和身份角色 三、文件属性 1. 文件属性表示 2. 文件类型 3. 文件的权限属性 四、修改文件的权限属性和角色 1. …

shell脚本自动安装MySQL8

环境:centos7版本:8.0.28安装包:mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz 二进制包要求:安装包和shell脚本在同一目录下执行方式:sudo ./install_mysql8.sh #!/bin/bash# 定义MySQL安装目录和压缩包名称MYSQL_DIR…