PythonChallenge第5题

点击题目链接
题意:一个山的图片,图片下面:pronounce it ,查看网页源码:peak hell sounds familiar,翻译过来,山峰和地狱很像。。。还是不懂,百度翻译的结果:峰值耳熟 还是不懂。。。
只有看网上大神怎么说的题目在哪了。。。

大神是这么说的:The clues “pronounce it” and “peak hell sounds familiar?” mean nothing to me. But the page source mentions a file banner.p. Let’s fetch it and take a look at the beginning.

banner.p题目在这个。。。查看后里面好多字符,但是不是是让你干什么,继续找题目

大神又这么说:Looks like some kind of streamed data encoding: S’ ’ suggests the encoding of a (S)tring containing a single space. So “peak hell” means “pickle”.

pickle 是什么意思,百度告诉我是泡菜,醉了,醉了,无奈只有看大神是怎么做的。

原来pickle是Python的一个模块,用来对象序列化的,又不懂了。我只是练习java 的,是用java写的程序。

网上找的方法都是先用pickle 处理pickle,出来[[(’ ‘, 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), (’ ‘, 4), (‘#’, 4), (’ ‘, 3), (‘#’, 3), (’ ‘, 3), (‘#’, 4), (’ ‘, 4), (‘#’, 5), (’ ‘, 4), (‘#’, 4), (’ ‘, 2), (‘#’, 5), (’ ‘, 4), (‘#’, 4), (’ ‘, 3), (‘#’, 3), (’ ‘, 5), (‘#’, 3), (’ ‘, 3), (‘#’, 4), (’ ‘, 1)], [(’ ‘, 1), (‘#’, 3), (’ ‘, 11), (‘#’, 4), (’ ‘, 5), (‘#’, 4), (’ ‘, 3), (‘#’, 3), (’ ‘, 4), (‘#’, 3), (’ ‘, 4), (‘#’, 4), (’ ‘, 5), (‘#’, 4), (’ ‘, 2), (‘#’, 4), (’ ‘, 5), (‘#’, 4), (’ ‘, 2), (‘#’, 3), (’ ‘, 6), (‘#’, 4), (’ ‘, 2), (‘#’, 4), (’ ‘, 1)], [(’ ‘, 1), (‘#’, 3), (’ ‘,。。。。。这么多东西

人工肉眼识别发现是[(’ ‘,20),(‘#’,50)]貌似都是这样的,根据这个画图,画的图就是结果。

对Python不熟悉,只有查看大神的代码了。
读取数据,并转换成pickle格式

object = pickle.load(urllib.urlopen('http://www.pythonchallenge.com/pc/def/banner.p'))
print object

就这样画出来图了,这么比java少那么多代码。。。

for item in object:
    print "".join(map(lambda p: p[0]*p[1], item))

结果是:

              ##### ##### 
               #### #### 
               #### #### 
               #### #### 
               #### #### 
               #### #### 
               #### #### 
               #### #### 
      ### #### ### ### ##### ### ##### ### ### #### 
   ### ## #### ####### ## ### #### ####### #### ####### ### ### #### 
  ### ### ##### #### ### #### ##### #### ##### #### ### ### #### 
 ### #### #### ### ### #### #### #### #### ### #### #### 
 ### #### #### ### #### #### #### #### ### ### #### 
#### #### #### ## ### #### #### #### #### #### ### #### 
#### #### #### ########## #### #### #### #### ############## #### 
#### #### #### ### #### #### #### #### #### #### #### 
#### #### #### #### ### #### #### #### #### #### #### 
 ### #### #### #### ### #### #### #### #### ### #### 
  ### ## #### #### ### #### #### #### #### #### ### ## #### 
   ### ## #### #### ########### #### #### #### #### ### ## #### 
      ### ###### ##### ## #### ###### ########### ##### ### ######

Python很强大啊,很神奇的感觉。

你可能感兴趣的:(py挑战)