Python Challenge 第六关
第六关只有一张图和一个 PayPal 的链接,右键源代码注释中写着 PayPal 是作者要赞助的,跟题目没关系,其他的提示只有注释中写的个 zip。试过下图片,改图片扩展名等等都失败了,最后乱试改了下 url,先把 channel 改了,没用,然后把 html 改成 zip,下载下来一个压缩包。解压出来一看,一堆 txt,其中有个 readme,里面有两句提示:
welcome to my zipped list.
hint1: start from 90052
hint2: answer is inside the zip
看一下其他的文件,都是一句:Next nothing is XXX
看起来跟第四关挺像。就先写个代码查找这个 answer:
path = 'C://Users//Leo//Desktop//channel//'
nothing = ''
fileExt = '.txt'
while True:
fobj = open(path + nothing + fileExt, 'r')
text = fobj.readline()
fobj.close()
txtList = text.split(' ')
if txtList[-1].isdigit():
nothing = txtList[-1]
else:
break
print '%s.txt: %s' % (nothing, text)
结果输出:Collect the comments.
这个 comments 是什么东西确实难倒我了。去查了一下 zipfile 模块,发现还真有 comment 这个成员,属于 ZipInfo。这样只要得到每个文件的 ZipInfo,就可以提取出 comments了。修改上面的代码,改为使用 zipfile 模块:
zobj = zipfile.ZipFile('C://Users//Leo//Desktop//channel.zip')
fileName = '90052.txt'
cmtList = []
while True:
zinfo = zobj.getinfo(fileName)
cmtList.append(zinfo.comment)
f = zobj.open(fileName)
nothing = f.readline().split(' ')[-1]
f.close()
if nothing.isdigit():
fileName = nothing + '.txt'
else:
break
print ''.join(cmtList)
得到的结果为:

将 url 中的 channel 改为 hockey,又出来一行提示:it's in the air. look at the letters.
再看上面那张图,每个大写字母是由一些小写字母组成,这东西是空气中的,也就是氧气:oxygen。再将 hockey 改为 oxygen,进入下一关:http://www.pythonchallenge.com/pc/def/oxygen.html
Python Challenge 第六关的更多相关文章
- python challenge第1关--NoteBook上的“乱码”
在 python challenge第0关中已经得到第1关的地址了: http://www.pythonchallenge.com/pc/def/map.html 一.观察地址栏和标签: What a ...
- Python Challenge 第十关
第十关是一张牛的图片和一行字:len(a[30])=?.图片中的牛是一个链接,点开后进入一个新页面,只有一行字: a = [1, 11, 21, 1211, 111221, 看来要知道第31个数多长, ...
- Python Challenge 第十一关
第十一关,一张模糊的图,题目为 odd even,源代码中也没任何提示,看来又是图像处理. 这张模糊的图看起来没什么头绪,但是题目给了个奇数和偶数,就先试试坐标吧,根据原图来生成一个新图.我第一次尝试 ...
- Python Challenge 第八关
这一关有一个蜜蜂的图片和一句提示:Where is the missing link? 这页面上乱点,在图片中蜜蜂身上还真点出一个链接,让输入用户名和密码,于是就去看源代码.果然,最下面有两行注释: ...
- Python Challenge 第七关
第七关,只有一张图片,右键源代码也什么都没有,只是这图片上有一行类似马赛克一样的部分.看来答案只有在这张图上找了.下载了图片,去网上搜一下有什么库可以处理图像.搜到了一个PIL,发现安装的python ...
- Python Challenge 第五关
进入第五关,一张图和一行提示: pronounce it.右键源代码,只有一行注释: <!-- peak hell sounds familiar ? --> peak hell 听起来熟 ...
- Python Challenge 第四关
进入了第四关.只有一张图,我还是像往常一样查看源代码.果然,发现了一行注释:urllib may help. DON'T TRY ALL NOTHINGS, since it will never e ...
- Python Challenge 第 5 关攻略:peak
# -*- coding: utf-8 -*- # @Time : 2018/9/26 14:03 # @Author : cxa # @File : pickledemo.py # @Softwar ...
- Python Challenge 第 4 关攻略:linkedlist
代码 import requests url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing={}" ...
随机推荐
- 【wqs二分 决策单调性】HHHOJ#261. Brew
第一道决策单调性…… 题目描述 HHHOJ#261. Brew 题目分析 挺好的……模板题? 寄存了先. #include<bits/stdc++.h> typedef long long ...
- Golang TCP转发到指定地址
Golang TCP转发到指定地址 第二个版本,设置指定ip地址 代码 // tcpForward package main import ( "fmt" "net&qu ...
- Unity基础-编辑器
编辑器 Special Folders Hidden Folder(start with .) Standard Assets:第一批加载的文件 Editor:只在编辑下才能使用, Plugins R ...
- Choose unique values for the 'webAppRootKey' context-param in your web.xml files! 错误的解决
大意是Log4jConfigListener在获取webapp.root值时,被后一context的值替换掉了,所以要在各个项目的web.xml中配置不同的webAppRootKey值,随即在其中一个 ...
- python 取余运算
python中取余运算逻辑如下: 如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系: a = qd + r , q 为整数,且0 ≤ |r| < |d|. 经过测试可发现,pytho ...
- Ubuntu 15.04 安装配置 Qt + SQLite3
序 最近需要在Ubuntu下使用Qt开发项目,选择简单小巧的SQLite数据库,现将安装配置以及简单操作记录如下,以便日后查阅. 安装Qt CMake和Qt Creator是Linux下开发C++程序 ...
- HDU - 1864 最大报销额 (背包)
题意: 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元.现请你编 ...
- hexo博客发布注意事项
最近把hexo博客内容写完了,就发布到github上面去,结果就出现各种一些小问题. 1.发布之后,hexo博客的css与js无法访问. 原因:没有配置正确的url路径.(配置文件_config.ym ...
- python - 读取配置文件
# -*- coding:utf-8 -*- ''' @project: jiaxy @author: Jimmy @file: read_config.py @ide: PyCharm Commun ...
- Stringsobits(模拟)
描述 Consider an ordered set S of strings of N (1 <= N <= 31) bits. Bits, of course, are either ...