恺撒密码(Python练习)
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文: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
假设用户可能使用的输入包含大小写字母azAZ、空格和特殊符号,请编写一个程序,对输入字符串进行恺撒密码加密,直接输出结果,其中空格不用进行加密处理。使用input()获得输入。
代码:
n = input()
for i in range(len(n)):if ord('a') <= ord(n[i]) <= ord('z'):print(chr((ord(n[i])+3-ord('a'))%26+ord('a')), end="")elif ord('A') <= ord(n[i]) <= ord('Z'):print(chr((ord(n[i])+3-ord('A'))%26+ord('A')), end="")else:print(n[i],end="")
函数解析:
len(x) 作用:返回字符串x的长度
chr(u) 作用:u为Unicode编码,返回其对应字符
ord(x) 作用:x为字符,返回其对应的Unicode编码
n[i] 解析:
end="" 解析:
在print()函数的使用中,我们可以使用end的一个参数,来决定每一个print输出之后,是否要换行,如果end等于空,那么输出之后并不换行,那么所有的print输出将在一行中表示。
恺撒密码(Python练习)相关推荐
- 恺撒密码python代码
恺撒密码python代码 小白自己随便写的,最笨的办法 问题: 恺撒密码 ...
- 恺撒密码 python
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: ...
- 如何用最暴力的方法实现恺撒密码——python
恺撒密码是一种最简单且最广为人知的加密技术. • 这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用 此方法与其将军们进行联系. • 它是一种替换加密的技术,明文中的所有字母都在字母表上向后 ...
- 恺撒密码——python
凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替 原文:A B C D E F G H I J K L M N O P Q R S T U V W ...
- Python练习:恺撒密码 I
练习:恺撒密码 I 平台:Python123.io 教师:嵩天 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的 ...
- python练习——恺撒密码 I
恺撒密码 I 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A ...
- python练习题15:恺撒密码 I
恺撒密码 I 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A ...
- Python基础编程入门实例:恺撒密码
文章目录 Python基础编程入门实例:恺撒密码 一.什么是恺撒密码 二.程序运行环境 三.恺撒密码:加密 3.1.恺撒密码加密实例程序 3.2.恺撒密码加密实例程序运行结果 四.恺撒密码:解密 4. ...
- 恺撒密码加解密程序(Python)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.确定恺撒密码原理,用公式表示 二.子函数的确立 1.加密部分 2.解密部分 3.选择加密还是解密 三.确定各个子函 ...
最新文章
- Kubernetes源码分析之kubelet
- 视图加载时自动执行铵钮事件
- mysql 终端 远程访问,通过终端连接到远程mysql
- Mysql 可重复读
- 2020-09-15
- 本地连接远程access数据库
- IT资源书籍999999999本
- linux 历史记录索引_使用Google桌面索引FireFox浏览器历史记录
- HDU - 1728 逃离迷宫 【BFS】
- java实现接口必须实现所有方法吗_我们是否必须在实现Java接口的类中实现所有方法?...
- EM9636数据上传百度云
- 删除Android空行
- “恐怖”的阿里一面,我究竟想问什么
- dba+开源工具:轻量级数据库审计日志平台,违规操作无所遁形(附下载)
- lucene【转载】
- 站斧浏览器——用实力,说实话
- 195. 中文小说出海资料整理
- 解决Error:All flavors must now belong to a named flavor dimension
- ARM Linux QT虚拟键盘的系列问题
- 遗传算法求函数最小值(多维)2
热门文章
- DLT 算法计算变换矩阵及源码
- 有人说Python是青铜?我用50行Python代码绘制3D机场分布图
- python毕业设计作品基于django框架校园排课选课系统毕设成品(3)后台管理功能
- error: Something went wrong bootstrapping makefile fragments
- oracle用户sysman过期,sysman密码过期导致oem无法使用
- Linux命令及其全称(转)
- 震旦adc225扫描到u盘_复印机扫描安装设置
- QT版本为4.7.3的移植(简化版)
- android usb摄像头 抓取一张图片 yuv格式 yuyv(yuy2)
- 404 not found nginx是什么意思_如何在BT面板基于nginx环境安装配置Perfex CRM网站