
关卡六:now there are pairs 成双

提示:
图片显示一个拉链,和题目意思有关系,算不上明显的线索。依旧查看网页源代码:

绿框文字是在拉赞助,和解谜没有任何关系。而红色箭头指向的zip,意为压缩包,也是拉链,这应该是一个线索。将浏览器地址的html改为zip,页面跳出:

开始解谜:
python3:
此处需要用到python中用于解压缩的包zipfile。
import zipfile
z = zipfile.ZipFile(r'C:\Users\GWT9\Desktop\channel.zip')
for filename in z.namelist():
print(filename)
运行结果如下:

文件最后有个名为readme.txt的文件,查看一下内容:
import zipfile
z = zipfile.ZipFile(r'C:\Users\GWT9\Desktop\channel.zip')
z.extractall(r'C:\Users\GWT9\Desktop\file')#将文件解压缩到file文件夹下面
mess = open(r'C:\Users\GWT9\Desktop\file\readme.txt')#读取readme文件
for jj in mess.readlines():#将txt的内容打印出
print(jj)
运行结果:

得到线索:(1) 从90052.txt文件开始 (2)答案就在这个zip文件中。
下面给出程序:
start = '90052'
#按照文件给的线索寻找
import re
filepath = r'C:\Users\GWT9\Desktop\file'
sign = 1
while 1:
mess = open(r'%s\%s.txt'%(filepath, start))
for jj in mess.readlines():
number = re.match('Next nothing is ([0-9]+)', jj)
try:
start = number.group()[16:]
except AttributeError:
print('文件%s.txt 内容:%s'%(start, jj))
sign = 0
if sign == 0:
break
上述程序输出:文件46145.txt 内容:Collect the comments.
Collect the comments:zipfile.getinfo对象包含属性comment。例如:
import zipfile
z = zipfile.ZipFile(r'C:\Users\GWT9\Desktop\channel.zip')
print(z.getinfo('90052.txt').comment)
#程序输出:'*'
而Collect的顺序应该就是上面程序中文件打开的顺序。最后的综合程序如下:
import zipfile
z = zipfile.ZipFile(r'C:\Users\GWT9\Desktop\channel.zip')
z.extractall(r'C:\Users\GWT9\Desktop\file')#将文件解压缩到file文件夹下面
start = '90052'
#按照文件给的线索寻找
import re
filepath = r'C:\Users\GWT9\Desktop\file'
sign = 1
numlist = []#收集comment的列表
while 1:
mess = open(r'%s\%s.txt'%(filepath, start))
numlist.append(str(z.getinfo('%s.txt'%start).comment)[2])#因为此处输出的为二进制,只收集comment的第二个字符
for jj in mess.readlines():
number = re.match('Next nothing is ([0-9]+)', jj)#如果匹配上,则从第16位开始是数字
try:
start = number.group()[16:]#解去16位至最后的
except AttributeError:
sign = 0
if sign == 0:
break
print(numlist)
#输出的结果:['*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '\\', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
'*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '\\', '*', '*', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*',
'\\', '*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'X', 'X', ' ', ' ', ' ', ' ', ' ', ' ', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', '*', '*', '\\', '*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', 'X', 'X', 'X', 'X', 'X', 'X', ' ', ' ', ' ', 'Y',
'Y', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', '*', '*', '\\', '*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', 'X', 'X', 'X', ' ', ' ', 'X', 'X', 'X', ' ', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'Y', 'Y', ' ', ' ', 'G', 'G', ' ', 'G', 'G', ' ', ' ', ' ', ' ', ' ', 'E', 'E', ' ', ' ', ' ', ' ', ' ',
' ', ' ', 'N', 'N', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', '*', '*', '\\', '*', '*', ' ', ' ', ' ', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', ' ', 'X', 'X', ' ', ' ', ' ', ' ', 'X', 'X', ' ', 'Y', 'Y', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'G', 'G', 'G', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', 'N', 'N', 'N', 'N', ' ', ' ', ' ', ' ', ' ', '*', '*', '\\', '*', '*', ' ', ' ', ' ', 'O', 'O', 'O', 'O', 'O', 'O',
'O', 'O', ' ', 'X', 'X', ' ', ' ', ' ', ' ', 'X', 'X', ' ', 'Y', 'Y', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'G', 'G', 'G', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*', '\\', '*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', 'X', 'X', 'X', ' ', ' ', 'X', 'X', 'X', ' ', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'Y', 'Y', ' ', ' ', 'G', 'G', ' ', 'G', 'G',
' ', ' ', ' ', ' ', ' ', 'E', 'E', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*', '\\', '*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', 'X', 'X', 'X', 'X', 'X', 'X', ' ', ' ', ' ', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*', '\\', '*',
'*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'X', 'X', ' ', ' ', ' ', ' ', ' ', ' ', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*', '\\', '*', '*', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*', '\\', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
'*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '\\', ' ', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '\\']
从输出的结果很难看出线索,下面对输出进行格式化:
#格式化输出
strdu = []
single = []
for ii in numlist:
if ii != '\\':#每一行输出
single.append(ii)
else:
strdu.append(single)
single = []
for hh in strdu:
print(hh)
#结果:
['*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*']
['*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*']
['*', '*', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'X', 'X', ' ', ' ', ' ', ' ', ' ', ' ', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', 'X', 'X', 'X', 'X', 'X', 'X', ' ', ' ', ' ', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', 'X', 'X', 'X', ' ', ' ', 'X', 'X', 'X', ' ', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'Y', 'Y', ' ', ' ', 'G', 'G', ' ', 'G', 'G', ' ', ' ', ' ', ' ', ' ', 'E', 'E', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', ' ', 'X', 'X', ' ', ' ', ' ', ' ', 'X', 'X', ' ', 'Y', 'Y', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'G', 'G', 'G', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', 'N', 'N', 'N', 'N', ' ', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', ' ', 'X', 'X', ' ', ' ', ' ', ' ', 'X', 'X', ' ', 'Y', 'Y', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'G', 'G', 'G', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', 'X', 'X', 'X', ' ', ' ', 'X', 'X', 'X', ' ', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'Y', 'Y', ' ', ' ', 'G', 'G', ' ', 'G', 'G', ' ', ' ', ' ', ' ', ' ', 'E', 'E', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', 'X', 'X', 'X', 'X', 'X', 'X', ' ', ' ', ' ', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'O', 'O', ' ', ' ', ' ', ' ', 'X', 'X', ' ', ' ', ' ', ' ', ' ', ' ', 'Y', 'Y', 'Y', 'Y', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', ' ', ' ', 'G', 'G', ' ', ' ', 'E', 'E', 'E', 'E', 'E', 'E', ' ', ' ', ' ', ' ', ' ', 'N', 'N', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '*', '*']
['*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*']
[' ', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*']
好像可以看出字母,下面对程序稍加改动:
#格式化输出
strdu = []
single = []
for ii in numlist:
if ii != '\\':#每一行输出
single.append(ii)
else:
strdu.append(''.join(single))#每一行合并在输出
single = []
for hh in strdu:
print(hh)
最终的程序运行结果:

上述显示的字母为HOCKEY,将浏览器地址栏中的channel.html改为hockey.html,页面并没有转到第七关,而是出现下面的页面:

翻译过来好像是一个谜语:它在空气里,字母看仔细。再次观察上面的图片,发现构成hockey的字母分别是O,X,Y,G,E,N。oxygen是氧气,符合前一句,应该就是谜底。将浏览器地址栏中的hockey.html改为oxygen.html,进入第七关。
不定期更新,欢迎留言,敬请关注!!!
网友评论