内容正文:
中物理
第十四课 凯撒密码
学易同步精品课堂
教育部中小学信息技术教育实验区实验教材(新世纪版)
八年级上册
学习目标
重难点
1.进一步熟悉字典类型数据的操作;
2.进一步熟悉循环语句;
3.进一步熟悉函数的定义与调用。
重点:进一步学习字典类型数据的操作。
难点:通过键值查键。
人类对信息的保护非常久远。相传当年凯撒为了与其将军们进行联系,发明了一种加密传递信息的方法:把字母偏移一定的位数来实现信息的加密。例如,当偏移的位数是3的时候,字母A变成D,B变成E,以此类推,X变成A,Y变成B,Z变成C。后来人们把这种加密方法称为凯撒密码。
一
加密信息
假设凯撒密码的字母偏移位数是3,字母的明文和密文的对应关系如下:
A→D,B→E,C→F,…,X→A,Y→B,Z→C
这样的密码对应表在Python编程中可以用“字典”来表示:
{"A":"D","B":"E","C":"F","D":"G","E":"H","F":"I","G":"J","H":"K","I":"L","J":"M","K":"N","L":"O","M":"P","N":"Q","O":"R","P":"S","Q":"T","R":"U","S":"V","T":"W","U":"X","V":"Y","W":"Z","X":"A","Y":"B","Z":"C"}
加密信息要做的是:将字典中的“键”(明文)用“值”(密文)来代替。现在来编写加密程序。
【例题14-1】利用凯撒密码给输入的信息加密。
message.upper()的意思是:把字符串变量message中的字符转换成大写字符。如果密码本中有小写字符对应的密文,就可以删除该命令行。
for letter in message:的意思是:从message字符串中逐个取出字符,赋给变量letter,循环的次数就是字符串中字符的个数。
book[letter]就是变量letter中的字符对应的密文,letter是字典中的“键”,book[letter]是其对应的值。
二
解密信息
收到加密信息后,要解密才能阅读。与加密不同的是,解密是通过密码字典的“值”去查对应的“键”,我们需要专门编写一个通过“值”查“键”的函数decode()。
【例题14-2】将加密的信息还原成可阅读的信息。
THANKS
“
”
$$