python challenge 第五关

       网址: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 re
import pickle

openfile = file('banner.p', 'r')
data = pickle.load(openfile)

for row in data:
    output = ''
    for entry in row:
        output += entry[0]*entry[1]
    print output

openfile.close()

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

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

        还有这种:

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

        继续吧,多练点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值