Python练习:恺撒密码 I
练习:恺撒密码 I
平台:Python123.io
教师:嵩天
描述
凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文: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
假设用户可能使用的输入仅包含小写字母a~z和空格,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中空格不用进行加密处理。使用input()获得输入。
输入
示例1: python is good
输出
示例1: sbwkrq lv jrrg
a = input()
password = list(a)
outpassword = '' #初始化输出字符串#制作一个索引表,用于获取输入字符串的“序号”
list1=['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']#制作另一个索引表,用于输出加密后的字符串,在末尾又添加了一次abc,免去计算的麻烦
list2=['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','a','b','c']length = len(password) #获取输入字符串长度,用于设定循环次数for i in range(length):if password[i] != ' ': #如果字符串那一位是字符,则按“序号”+3的规则翻译,并输出加密后的字符b = list1.index(password[i])print(list2[b+3],end='')else: #如果字符串那一位是空格,则直接输出一个空格print(' ',end='')
Python练习:恺撒密码 I相关推荐
- python练习——恺撒密码 I
恺撒密码 I 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A ...
- Python 之恺撒密码加密算法
恺撒密码(Caesar cipher),又称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个 ...
- python练习题15:恺撒密码 I
恺撒密码 I 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A ...
- 恺撒密码python代码
恺撒密码python代码 小白自己随便写的,最笨的办法 问题: 恺撒密码 ...
- Python基础编程入门实例:恺撒密码
文章目录 Python基础编程入门实例:恺撒密码 一.什么是恺撒密码 二.程序运行环境 三.恺撒密码:加密 3.1.恺撒密码加密实例程序 3.2.恺撒密码加密实例程序运行结果 四.恺撒密码:解密 4. ...
- 恺撒密码 python
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: ...
- 恺撒密码(Python练习)
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: ...
- 恺撒密码加解密程序(Python)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.确定恺撒密码原理,用公式表示 二.子函数的确立 1.加密部分 2.解密部分 3.选择加密还是解密 三.确定各个子函 ...
- python恺撒密码 B
恺撒密码 B ...
最新文章
- python分几种_python有几种类型?
- Java8新特性Stream
- 【概率论】1-4:事件的的并集(Union of Events and Statical Swindles)
- c++Builder XE6 MD5 加密算法 BASE64 URL 编码
- ise的时钟ip核_ISE的IP核clocking wizard使用和例化
- 在使用DBCA时报错,第二个节点无法启动数据库实例
- unix 只有root 可以使用chown吗_chmod 777 是开发的常规操作吗?
- Hibernate缓存级别教程
- PHP基础班初学感悟
- CSS 状态管理,玩出花样了!
- Netbeans、Eclipse中查看JDK源码
- 计算机教室戴尔电脑网络同传,DELL商用台式电脑如何作网络同传
- js页面跳转,参数传递
- 快速排序实验报告 c语言,快速排序算法的C语言实现
- 计算机如何重新连接打印机,打印机脱机怎么处理 打印机重新连接方法教程
- python可能实现办公自动化吗,让工作化繁为简:用Python实现办公自动化
- c语言单片机红外报警设计,超级简单单片机红外感应开关DIY设计
- python读取数据集csv文件_读取CSV文件并使用python提取所需的数据量
- 服务进程无法连接到服务控制器上_魔兽世界 无法连接服务 暴雪游戏agent进入睡眠模式。。。。...
- 天鹅到家“天鹅之星”:品质化家政的新标杆
热门文章
- 移位运算符 实现 二进制数的 高低位翻转(完整逻辑代码)
- mysql binlog size_设置max_binlog_size和expire_logs_days参数,设置mysql数据库bin log清除机制...
- java怎样将多个list写入txt中并且不覆盖原有数据_java容器,面试必备知识点整理!...
- 【连载】如何掌握openGauss数据库核心技术?秘诀三:拿捏存储技术(5)
- 一种数据库打天下?开源数据库选型应该注意什么?
- MySQL关于Table cache设置,看这一篇就够了
- 解锁不可见索引新特性,处理ORA-01555故障
- 【演讲实录】RWP团队谈SQL优化
- 聆听无声的话语:手把手教你用ModelArts实现手语识别
- 云小课 | 不小心删除了数据库,除了跑路还能咋办?