看过谍战片吗?那些很飒的谍报人员破解谍报密码的时候,是不是很帅?
这回,我也用python的入门知识点,试试破解谍报密码,这要放过去,妥妥的谍战精英啊!
其实这回用python破解谍报密码,用到的知识点不多,主要是列表及其方法。
列表
是这样的,我们发现了一段存在[ ]中的谍报密码,所以为了破解它,我还需要先研究一下谍报密码中的[ ]。
1、列表是python内置的一种序列,其他的序列我们后面会一一介绍
2、序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推
3、创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如图所示:
读取列表的值
上面我们讲到了列表的索引,我们可以通过列表的索引来获取它的元素,如图所示:
列表的切片
列表的切片格式是list[start🔚step]
1、start:起始索引,从0开始,-1表示结束
2、end:结束索引
3、step:步长,步长为正时,从左向右取值。步长为负时,反向取值
注意切片的结果不包含结束索引,即不包含最后的一位,通常我们称为左闭右开, -1代表列表的最后一个位置索引
如果我只想要list1的前三个元素,该怎么写呢?
假如有一组从0-10的列表,我们只想要这个列表里面的所有偶数元素,那么该怎么取值呢?
列表脚本操作符
列表的函数
列表的方法
如何破解谍报密码?
那么现在,我手上有这样一份谍报密码,请你按照提示完成密码的破解,下面,让我们来开始吧!
report = [
'u', 'b', '1', 't', 's', '0', '3', '9', 'k', 'b',
'4', 'n', ' ', '7', 'b', 'f', 'h', 'r', '3', '6',
's', 'v', 'f', ' ', '-', 'z', 'e', 'b', '8', '5',
'ə', 'j', 'u', '2', 'o', 'l', '8', 'b', 'i', 'q',
'b', '7', '9', 'b', 'm', 'i', 's', '3', 'i', '8',
'$', 'u', '0', 't', '9', ';', 'q', 'w', ' ', '!',
]
#取出列表 report 中第 12 到 13 个元素(包含 12 和 13),存放在到变量里,比如 secret 变量里;
#列表 secret 尾部追加 report 列表中最中间的一个元素;
#列表 secret 尾部追加 report 列表中元素'b'出现的次数
#列表 secret 尾部追加 report 列表中最后的两个元素;
#将字符串'ʌo'插入到列表索引 secret[3]的位置
#使用print(''.join(secret))将列表 secret 转为字符串并打印到屏幕上。
请按照上面的提示来破解这封谍报,看看它写了什么信息。
在问题中,涉及到的python列表方法都已经在上面的表格里了,可以多看一下,有不懂的问题可以在评论区提出来!