python challenge 第五关

来源:互联网 发布:淘宝v5会员有什么用 编辑:程序博客网 时间:2024/04/27 20:10

       网址:http://www.pythonchallenge.com/pc/def/peak.html 

       这关肯定要求对python各个模块都有印象,甚至于熟悉,像我这种知道的不超过10个模块的懒鬼来说,这关只能在网上求助了。

       想想也是,peakhell,听起来像什么?最慢的发音当然是“匹克,赫油”,对模块熟悉,又加上要下载的文件是.p为后缀,就知道是pickle,与发音反而无关矣。

       照python的定义看,pickle - Create portable serialized representations of Python objects.即pickle是用于创建可移植的Python对象的序列化表示的模块,详细的我也说不了多少……

       先上代码:

import reimport pickleopenfile = file('banner.p', 'r')data = pickle.load(openfile)for row in data:    output = ''    for entry in row:        output += entry[0]*entry[1]    print outputopenfile.close()

       首先,虽然看help(pickle)里面看到pickle的load(file)函数,但是我真是对这些不熟悉啊。只好临时抱佛脚,在网上查下pickle模块了。

至少后半部分的代码,确实写得很C语言外,看到网上的解法,全是用什么lambda 这种处理方式……

        还有这种:

for linelist in banner:...     line = [ch * count for ch, count in linelist]...     print "".join(line)
      

        继续吧,多练点。

原创粉丝点击