python challenge 5 博客分类: python PythonF#
程序员文章站
2024-02-04 11:14:04
...
第五题,查源码,有一句peak hell sounds familiar ? 这个问题估计难倒1摩尔的PYTHON初学者,当然包括我。直接上网查前人成果,答案原来是pickle。pickle和peak hell发音很像吗? 上网查了查,pickle是PYTHON的序列化模块,提供PYTHON对象的序列化与反序列化。
网页源码中还有一个<peakhell src="banner.p"/>,打开banner.p后又看到一堆mess,应该是对这堆mess进行反序列化。反序列化出来的对象是个list,如下(部分):
list: [[(' ', 95)], [(' ', 14), ('#', 5), (' ', 70), ('#', 5), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 6), ('#', 3), (' ', 6), ('#', 4), (' ', 3), ('#', 3), (' ', 9), ('#', 3), (' ', 7), ('#', 5), (' ', 3), ('#', 3), (' ', 4), ('#', 5), (' ', 3), ('#', 3), (' ', 10), ('#', 3), (' ', 7), ('#', 4), (' ', 1)], [(' ', 3), ('#', 3), (' ', 3), ('#', 2), (' ', 4), ('#', 4), (' ', 1), ('#', 7), (' ', 5), ('#', 2), (' ', 2), ('#', 3), (' ', 6), ('#', 4), (' ', 1), ('#', 7), (' ', 3), ('#', 4), (' ', 1), ('#', 7), (' ', 5), ('#', 3), (' ', 2), ('#', 3), (' ', 5), ('#', 4), (' ', 1)], [(' ', 2), ('#', 3), (' ', 5), ('#', 3), (' ', 2), ('#', 5), ('...
这下又要找规律了。在网上找了点提示,每个子list中的元组中的数字之和都是95,而且又有空格和#,很有可能是将空格和#用来排版画图,数字是空格和#打印的次数。于是
打印出由#组成的channel的图像,channel就是过关答案了。
学习到了python中用什么做序列化操作。
网页源码中还有一个<peakhell src="banner.p"/>,打开banner.p后又看到一堆mess,应该是对这堆mess进行反序列化。反序列化出来的对象是个list,如下(部分):
list: [[(' ', 95)], [(' ', 14), ('#', 5), (' ', 70), ('#', 5), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)], [(' ', 6), ('#', 3), (' ', 6), ('#', 4), (' ', 3), ('#', 3), (' ', 9), ('#', 3), (' ', 7), ('#', 5), (' ', 3), ('#', 3), (' ', 4), ('#', 5), (' ', 3), ('#', 3), (' ', 10), ('#', 3), (' ', 7), ('#', 4), (' ', 1)], [(' ', 3), ('#', 3), (' ', 3), ('#', 2), (' ', 4), ('#', 4), (' ', 1), ('#', 7), (' ', 5), ('#', 2), (' ', 2), ('#', 3), (' ', 6), ('#', 4), (' ', 1), ('#', 7), (' ', 3), ('#', 4), (' ', 1), ('#', 7), (' ', 5), ('#', 3), (' ', 2), ('#', 3), (' ', 5), ('#', 4), (' ', 1)], [(' ', 2), ('#', 3), (' ', 5), ('#', 3), (' ', 2), ('#', 5), ('...
这下又要找规律了。在网上找了点提示,每个子list中的元组中的数字之和都是95,而且又有空格和#,很有可能是将空格和#用来排版画图,数字是空格和#打印的次数。于是
import pickle if __name__ == '__main__': f = open('5.txt') text = f.read() obj = pickle.loads(text) for list in obj: print(''.join(t[0] * t[1] for t in list)) f.close()
打印出由#组成的channel的图像,channel就是过关答案了。
学习到了python中用什么做序列化操作。
推荐阅读
-
python challenge 8 博客分类: python PythonHTML
-
python challenge 5 博客分类: python PythonF#
-
python challenge 10 博客分类: python Python
-
python challenge 9 博客分类: python Python360J#
-
python challenge 11 博客分类: python Python
-
python challenge 7 博客分类: python Python算法F#
-
python challenge 6 博客分类: python PythonOOAIR网页游戏游戏
-
python challenge 4 博客分类: python PythonPHPJavaScriptF#HTML
-
python语法学习整理 博客分类: Python