您的位置是:网站首页>Python编程Python编程

Python编程教程-基础篇-信息加密

少儿编程网2020-03-26 21:44:03Python编程 人已围观 来源:少儿编程 -用户投稿

简介今天小杨老师教大家用Python编程语言学习用恺撒密码对一段信息进行加密,本课程大家将学习Python编程判断语句和循环语句嵌套应用,复习Python语言用户输入。效果如下:

一.学习目标99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

今天小杨老师教大家用python编程语言学习用恺撒密码对一段信息进行加密,本课程大家将学习python编程判断语句和循环语句嵌套应用,复习Python语言用户输入。效果如下:99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

二.凯撒密码99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

恺撒密码(英语:Caesar cipher),是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

首先让我们对字母“a”进行加密。为此,我们可以将字母表画在一个圆中,如下所示:    99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

                  99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

为将一个普通字母变为秘密的加密字母,你需要有一个密钥。让我们使用数字 3 作为密钥(但你可以使用任何你喜欢的数字)。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

要对字母“a”进行加密,你只需顺时针移动 3 个字母,由此得到字母“d”:99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你可以使用学到的内容来加密整个单词。例如,“hello”经过加密成为“khoor”。自己试试看。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

h + 3 = k;e + 3 = h;l + 3 = o;l + 3 = o;o + 3 = r99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

将文本恢复正常被称作解密。要解密一个词,只需减去密钥而非加上密钥:99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

k - 3 = h;h - 3 = e;o - 3 = l;o - 3 = l;r - 3 = o99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

三. 对字母进行加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

让我们编写一个 Python 程序来加密单个字符。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

让我们将字母表写出来作为alphabet变量,而不是将其画在圆中。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

字母表中的每个字母都有一个位置,从位置 0 开始。因此,字母“a”在字母表中位于位置 0,“c”位于位置 2。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你可以通过在方括号内填写位置来从alphabet变量中获取一个字母。
Python编程教程-基础篇-信息加密

你在试过之后就可以删除print语句。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

接下来,你将需要在变量中储存秘密key(密钥)。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

然后,询问用户需要加密的字母(被称为character(字符))。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

找到该character(字符)的position(位置)。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你可以将所储存的position(位置)打印出来以进行测试。例如,字符“e”位于字母表中的位置 4。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

要加密character(字符),你需要向position(位置)添加key(密钥)。它随后会被储存在newPosition变量中。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

添加代码来打印出新字符的位置。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

测试你的新代码。由于你的key(密钥)为 3,因此应将position(位置)加上 3 并储存在你的newPosition变量中。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

例如,字母“e”位于位置 4。为进行加密,你需要加上key (3),得出 7。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你尝试加密字母“y”的话会发生什么?

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

请注意newPosition现在变为 27,而在字母表中并没有 27 个字母!99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你可以使用%来告诉新位置,一旦到达位置 26,即返回位置 0。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

最后,你想要打印出新位置的字母。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

例如,向字母“e”添加密钥得出 7,字母表中位置 7 的字母为“h”。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

试试你的代码。你还可以移除某些打印语句,只在最后打印出新字符。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

四.挑战:可变密钥99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

修改你的程序,使得用户可以输入自己的密钥来使用。你将需要取得用户输入的密钥,并将其储存在key(密钥)变量中。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

请记得使用int()函数来将输入内容转化为整数。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

然后你可以使用负值密钥来解密信息!99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

五.对完整信息进行加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

让我们修改程序来加密完整的信息,而非一次仅加密和解密一个字符的信息!99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

首先,请检查你的代码是否如下所示:

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

创建一个变量来储存新加密的信息。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

更改你的代码来储存用户的信息,而不仅仅是一个字符。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

向你的代码添加for循环,并缩进剩余的代码,使其对信息中的每个字符重复运行。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

测试你的代码。你会看到信息中的每个字符都被加密并打印出来,一次一个。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

让我们向你的newMessage变量添加每个被加密的字符。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

由于信息被加密,你可以print(打印)该newMessage。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

如果你删掉print(打印)语句之前的空格,被加密的信息仅会在末尾显示一次。你还可以删除打印字符位置的代码。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

六.其他字符99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

一些字符不在字母表中,会造成错误。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

使用字母表中不存在的一些字符来测试你的代码。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

例如,你可以使用hithere!!(你好!!)这条信息。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

请注意空格和!字符都被加密为字母“c”!99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

为解决这个问题,你希望只转换字母表中的字符。为此,向你的代码添加一个if语句,并缩进剩余代码。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

用同样的信息来测试你的代码。这次会发生什么?

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

现在,你的代码会跳过不在字母表中的字符。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

如果你的代码并未对不在字母表中的内容进行加密,而只是使用原来的字符,那就更好了。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

向你的代码添加else语句,这会将原始字符添加到已加密的信息中。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

测试你的代码。你会看到字母表中的所有字符已被加密,而其他字符则保持原样!99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

七.挑战:加密和解密信息99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

加密一些信息,并连同密钥一起发给朋友。看看他们能否使用自己的程序破解信息!99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你还可以复制该项目并创建一个独立的程序用于解密信息。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

八.挑战:友情计算器99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

编写一个程序,来通过计算友情得分,显示 2 人的关系有多密切。

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

该程序可循环遍历 2 个名字中的每个字符,并在每次发现特定字母时向score(分数)变量添加分数。99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你应决定奖励分数的规则。例如,你可以对元音或者存在于“friend”这个词中的字母奖励分数:

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

你还可以根据用户的分数,向他们提供一条个性化的信息:

Python编程教程-基础篇-信息加密99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
来源  小杨老师fight99s少儿编程网-Scratch_Python_教程_免费少儿编程学习平台


相关文章:

支持一下 ( )

Python编程教程-基础篇-信息加密

      匿名评论
    • 评论
    人参与,条评论
    Python编程教程-基础篇-信息加密

客服在线

服务时间

周一至周日 9:00-21:00