Python Challenge(8--9关)——我的解题报告(running with python3.x)
来源:互联网 发布:社交软件盈利模式 编辑:程序博客网 时间:2024/04/30 19:36
前面关卡的结题报告在这里http://blog.csdn.net/richytang/article/details/12288135(第6-7关)
第8关:http://www.pythonchallenge.com/pc/def/integrity.html
这关的名字叫做working hard?鉴于上一关的难度,这关我做好了应对大麻烦的心理。结果这关...至少比前一关简单太多了。
那么开始分析。题目给的是一张蜜蜂图片(bee?)。再去查看网页源代码,发现有一些有趣的东西:图片中间的一部分是可以点击的。点击之后给了一个对话框,提示输入用户名和密码,还有一句“来自网页的提醒:“inflate””。除此之外,源代码下方的注释给了两行重要的信息:un和ps。这不是username和password的简写么?那么我们要做的就是把那一堆东西转换成un和pw了。那一堆是什么呢?unicode编码?挺像,但不是。开头有个BZ,而熟悉linux的用户,linux下流行的压缩的格式之一是bz2。那么好了,查一下python处理bz2格式的模块吧。
help一下,bz2中有用的一个是bz2.BZ2File()。处理.bz2格式的问价。而像我们这样处理一个给好的序列,直接调用decompress方法就行。不过对于python3.x,参数要给成bytes格式。下面是代码:
import bz2un=b'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'pw=b'BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08'username = bz2.decompress(un)password = bz2.decompress(pw)print(username,password)注意,一定要在序列前面加上b表示是bytes类型。输出是huge和file。我们把这个输入到登录窗口,顺利跳到下一关了~
第9关:http://www.pythonchallenge.com/pc/return/good.html
这关的提示很充足。页面上有一些黑点,那么把这些黑点连接起来会怎么样?源代码中给出了足够的线索:title是connect the dots,下面是两堆数和一个提示:first+second。我当时对着数发呆了一会,结果无意中发现一点:第一组数,前两个和最后两个是一样的。那么会不会是两个两个是一组表示坐标?然后随便看看中间的数,经常有x方向或y方向是一样的(横线或竖线)。那么试一试吧,我们还用之前的那个PIL库来画一下(画法是在网上查到的),使用PIL的ImageDraw库,并用ImageDraw.line方法。只是我比较疑惑的是为什么不按照元组传递参数就可以:
from PIL import ImageDraw,Image img = Image.new('RGB', (640,480)) draw = ImageDraw.Draw(img) draw.line(first) draw.line(second) img.show()img.save('ans9.jpg')
答案是:
牛?公的?试试bull,好的,没错,下一关是:http://www.pythonchallenge.com/pc/return/bull.html
- Python Challenge(8--9关)——我的解题报告(running with python3.x)
- Python Challenge(0--1关)——我的解题报告(running with python3.x)
- Python Challenge(2--3关)——我的解题报告(running with python3.x)
- Python Challenge(4--5关)——我的解题报告(running with python3.x)
- Python Challenge(6--7关)——我的解题报告(running with python3.x)
- Python Challenge(10--11关)——我的解题报告(running with python3.x)
- 关路灯——power 解题报告
- python challenge 第三关
- python challenge 第四关
- python challenge 第三关
- python challenge 第四关
- python challenge 第五关
- Python Challenge第二关
- Python Challenge:第八关
- Python Challenge 第九关
- POJ1247解题报告——我写的第一篇解题报告
- python challenge第1关--NoteBook上的“乱码”
- Python Challenge 第10关(正则表达式)
- linux socket编程示例
- 网络智能和大数据公开课Homework3 Map-Reduce编程
- 如何在Android模拟器上安装apk文件
- 深入浅出C++11(5)-- Lambda函数与表示式
- 关于我收集的嵌入式资料
- Python Challenge(8--9关)——我的解题报告(running with python3.x)
- FPGA(lab1)——2输入逻辑门
- 聚簇索引和非聚簇索引探讨
- 关于我收集的嵌入式资料
- Windows应用商店大体上要做哪些步骤:
- [POJ][1008]Maya Calendar
- cocos2d-x游戏开发(十七)NDK+ant编译暗黑世界
- unicode to ansi
- HDU 3016 Man Down (线段树+dp)