pythonchallenge level 5

来源:互联网 发布:淘宝街拍镜头选择 编辑:程序博客网 时间:2024/06/06 03:13
链接:http://www.pythonchallenge.com/pc/def/peak.html

查看网页源码得到提示:peak hell sounds familiar?
所以尝试了一下替换peak.html为peakill.html很显然不会这么无聊。。。
于是上网查了一下答案o(╯□╰)o对于python不怎么熟悉,所以根本不会想到pickle这个模块。如果能联想到pickle这个序列化操作的模块,然后根据提示:<peakhell src="banner.p"/>点开banner.p应该能想到是对里面的内容用pickle模块进行操作。

所以先对pickle模块学习一下:
pickle模块最主要的操作方法:dump和load。dump用来序列化对象,load用来反序列化对象,可以看做是编码与解码的过程。由于banner.p中的代码是乱码一样的看不出任何规律,于是根据提示先将其反序列化并输出,得到一组存储字符与数字配对的列表。由于之前看过别人的解答是由字符输出组成的图案,于是输出:得到:

所以下一题的链接是:http://www.pythonchallenge.com/pc/def/channel.html

解题代码:
import urllibimport urllib2import pickleurl = 'http://www.pythonchallenge.com/pc/def/banner.p'res = urllib2.urlopen(url)data = pickle.load(res)print datafor l in data:    s = ''.join(i[0]*i[1] for i in l) + '\n'    print s


0 0
原创粉丝点击