我大学剩下一年半的生活(六)——pythonchallenge之level5

python challenge level 5的链接为:http://www.pythonchallenge.com/pc/def/peak.html

页面上有一副图,图下面是“pronounce it”,这就是页面上的提示,而页面的title是“peak hell”,经过深思熟虑之后我决定还是看一看页面源代码吧。首先就看到了那个注释,peak hell听起来像什么?好吧,我觉得我对python里面有什么该读成这样真心不知到啊,还是看看别的信息吧,第二个映入眼帘的是这段奇怪的代码,点击banner.p看了看,突然就觉得这些乱码令我想到了python当中的“泡菜(pickle)”模块,好吧,用google翻译听了一下pickle和peakhell,读音确实很相像,想来这一题就是考“泡菜”模块了。

#! /usr/bin/env python
import pickle
f = open('banner.p')
print pickle.load(f)
f.close()

banner.p这个文件被我下载下来了,如果不下在文件将文件的内容复制出来然后使用loads函数处理字符串是一样的效果。不过看到打印出来的结果时我顿时就凌乱了。。。好吧,将输出重定向到5.up这个文件中,然后按照一个list一行整理了一下,刚开始会有一种不知所措的感觉,后来查了一下,python challenge 第五关解法 http://www.pythonchallenge.com虽然没看具体文章,但是看到了一张图,这张图给了我想法,这张图就是结果,通过观察会发现所有包含在一个list中的list,这应该是每一个list表示一段,然后每一段合起来就能表示一整个完整的信息。再仔细算一下,每个内部list中的数字加起来都是95。于是就有了下面一段代码:

#! /usr/bin/env python
import pickle
f = open('banner.p')
for line in pickle.load(f):
    print ''.join([x[0] * x[1] for x in line])

f.close()

显示结果如下:
result

因此,下一题的链接为:http://www.pythonchallenge.com/pc/def/channel.html

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值