python中代码段的标志是什么车_请问这段Python代码是什么意思?

ord(p) - ord('a')

这个意思是以 'a' 为序号0,计算字符p的序号。在ASCII字符集中,小写字母a-z是连续排列的,因此如果a是0的话,那么b就是1,c就是2……以此类推。

ord(p) - ord('a') + 3

前面一段我们解释过了,那么这一段的意思就是把这个序号+3

(ord(p) - ord('a') + 3) % 26

将序号+3后的结果以26为基数取模。意思就是如果这个数超过26那么就回到0重新循环。也就是说我们让这个数字始终处于0-25的范围中。如果这个数是26,那么最终将回到0,27会变成1……以此类推。

ord('a') + ((ord(p) - ord('a') + 3) % 26)

通过后面的一串运算,我们得到了英文字母在字母表所在序号的后三个序号。比如,原字母是b,那么它的原始序号是1,经过运算之后得到4。原字母是x,原始序号是23,经过运算之后得到0。y会得到1。等等。

然后把这个序号再加上'a'字母的字符集编码,就得到了这个字母的真正字符集编码。

这里稍微提一下字符集的概念。我们知道计算机是通过0和1形成的二进制来进行数据的表示和运算的。0和1很显然只能表示数字。如果我们要处理文字、图像、视频之类的非数字信息,就需要找到一种方法将它们的信息和数字对应起来,也就是所谓的“数字化”。对于文字,尤其是计算机诞生之初处理的英文信息,我们提供了一种约定,将每一个英文字母和一些符号分配一个数字。以后我们看到这个数字就知道它对应的字符是啥了。ASCII字符集就是早期比较流行的一种通用约定。在这种约定中,'a'对应的数字是97,'b'对应的数字是98……以此类推。反过来说,如果我们从某个地方读到了一个数字97,并且我们知道我们在读取一个字符,我们就知道它是字符'a',等等。

现在更流行的字符集是基于UNICODE的UTF-8编码字符集。这个字符集能表示更多的字符,包括中文。其中的英文部分,跟ASCII字符集几乎是完全兼容的。

上面那段代码,实际上就是计算出移位之后的新字符的字符集编码。

最后我们通过 chr 函数,告知系统这实际上是一个字符。那么print函数就会把编码对应的字符打印出来。

那么综合一下,这行代码的实际意思就是打印原字符后移三个字母之后的新字母(如果序号超过'z'则回到字母表开头进行循环)。这其实也就是凯撒加密算法的核心了。

举个例子来说。

hello, worldz 这个字符串,经过处理之后,打印出的应该是:khoor,zrougc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

servlet和jsp页面过滤器Filter的作用及配置

刚刚有个朋友问我,Servlet的过滤器有什么作用? 现在发个帖子说明一下, 过滤器是一个对象,可以传输请求或修改响应。它可以在请求到达Servlet/JSP之前对其进行预处理,而且能够在响应离开Servlet /JSP之后对其…

tar命令速查

tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要…

附005.Docker Compose文件详解

一 Docker Compose文件简介 compose文件使用yml格式,主要分为了四个区域:version:用于指定当前docker-compose.yml语法遵循哪个版本services:服务,在它下面可以定义应用需要的一些服务,每个服务都有自己的名…

如何使用TensorFlow构建简单的图像识别系统(第2部分)

by Wolfgang Beyer沃尔夫冈拜尔(Wolfgang Beyer) 如何使用TensorFlow构建简单的图像识别系统(第2部分) (How to Build a Simple Image Recognition System with TensorFlow (Part 2)) This is the second part of my introduction to building an image recognition system wi…

网站 服务器 用sqlite,sqlite服务器数据库

sqlite服务器数据库 内容精选换一换简要介绍SQLite是一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,不仅支持标准的SQL语法,还遵循了数据库的ACID事务。编写语言:C一句话概述:轻量级的关系型数…

type-c接口图片_TypeC接口除了充电还能干吗?这些功能都不知道,简直是在浪费...

Type C手机接口相信每个使用智能手机的朋友都很熟悉,目前已经广泛使用在智能手机领域,并且得到用户一致好评。但是对于Type C接口真正的用处很少有人知道,大部分用户只了解正反面都可充电,其他方面一概不知,对于这一点…

Zookeeper的api的简单使用(转载)

转载自: http://www.cnblogs.com/sunddenly/p/4031881.html 1.API 2.API 示例 ZooKeeper中的组成员关系 理解ZooKeeper的一种方法就是将其看作一个具有高可用性的文件系统。但这个文件系统中没有文件和目录,而是统一使用“节点”(node)的概念,称为znode…

必须使用301重定向的运用场景

必须使用301重定向的运用场景

1.1好素数

题目 题意:一个好素数的定义是,他是一个素数,然后他的左右两边10区间内存在素数,那么他就是好素数,现在让你输入一个数字,这个数字以内的好素数的数量。 解题方法:先把每一个数字是不是素数判断…

jquery.vue.js_一个Vue.js简介,面向只了解jQuery的人

jquery.vue.jsby Matt Rothenberg马特罗森伯格(Matt Rothenberg) 一个Vue.js简介,面向只了解jQuery的人 (A Vue.js introduction for people who know just enough jQuery to get by) I’ve had a love-hate relationship with JavaScript for years.我与JavaScrip…

python 矩阵获取行数_4个最佳项目创意的代码片段和示例,旨在为Python和机器学习构建出色的简历!...

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达一篇文章带你了解4个最佳项目创意的代码片段和示例Python是一种特殊的编程语言,适用于从初学者到中级用户。由于它的灵活性,它正逐渐成为一种非常流…

Android 多状态加载布局的开发 Tips

2019独角兽企业重金招聘Python工程师标准>>> 什么是多状态 Layout 对于大多数 App 而言,项目中都有多状态加载 View 这种需求,如下图所示。 对应到开发中,我们通常会开发一个对应的自定义 layout 用于根据页面不同的状态来显示不同…

XML解析之JAXP案例详解

根据一个CRUD的案例&#xff0c;对JAXP解析xml技术&#xff0c;进行详细的解释&#xff1a; 首先&#xff0c;已知一个xml文件中的数据如下&#xff1a; <?xml version"1.0" encoding"UTF-8" standalone"no"?> <书架><书 出版社…

随机梯度下降

1.SGD 代价函数通常可以分解成每个样本的代价函数的总和转载于:https://www.cnblogs.com/bigcome/p/10042800.html

iis mysql5.7_手动配置网站环境 IIS 10+PHP 7.1+MySQL 5.7

之前配置环境一直用的一键安装包&#xff0c;不管是phpStudy还是lnmp&#xff0c;昨天尝试在自己电脑配置一下iis的环境&#xff0c;也踩了一些坑&#xff0c;整理了一下。测试电脑是Windows10&#xff0c;理论上Win7和IIS7.5都支持的。安装 IIS1&#xff1a;控制面板 > 程序…

如何使用Apache的Prediction IO Machine Learning Server构建推荐引擎

by Vaghawan Ojha通过瓦哈万欧哈(Vaghawan Ojha) 如何使用Apache的Prediction IO Machine Learning Server构建推荐引擎 (How to build a recommendation engine using Apache’s Prediction IO Machine Learning Server) This post will guide you through installing Apache…

JavaScript DOM编程艺术第二版学习(1/4)

接下来项目需要网页相关知识&#xff0c;故在大牛的指引下前来阅读本书。 记录方式&#xff1a;本书分四部分阅读&#xff0c;完成阅读之后会多写一篇包括思维导图的算是阅读指南的东西&#xff0c;浏览的童鞋看着指南可以跳过一些不必要的坑~ 当前水平&#xff1a;HTML&CS…

github开源大项目_GitHub刚刚发布了一份大规模的开源指南

github开源大项目Here are three links worth your time:这是三个值得您花费时间的链接&#xff1a; GitHub just released a massive guide to contributing to open source (5 to 60 minute read) GitHub刚刚发布了一份有关开源的大型指南( 阅读5至60分钟 ) A new way to br…

mysql中where条件判断语句_MySQL Where 条件语句介绍和运算符小结

WHERE 条件有时候操作数据库时&#xff0c;只操作一些有条件限制的数据&#xff0c;这时可以在SQL语句中添加WHERE子句来规定数据操作的条件。语法&#xff1a;SELECT column,… FROM tb_name WHERE definitionWHERE 关键字后面接有效的表达式(definition)&#xff0c;该表达式…

node webkit(nw.js) 设置自动更新

原理&#xff1a;把更新的文件放在服务器上&#xff0c;设置一个客户端版本号&#xff0c;每次打开客户端的时候&#xff0c;通过接口获取服务器上的版本&#xff0c;如果高于本地的版本就下载服务器上的代码&#xff0c;低于或等于就不更新 1 <script>2 var htt…