python Challenge level 4
oh...give up again

python Challenge level 5

TLHL28 posted @ Sat, 23 Jan 2010 08:02:02 +0800 in 随笔 with tags pythonchallenge , 1258 readers

这一关就比较诡异了...

peak hell sound fmiliar ?

sound fmiliar?!! 马上上网找hints. => pickle

pickle 是啥!? 去官网看hints. => Global Module Index

原来是一个module.....

pickle 是一个将python object 转换成 ASCII 的module. 当然,可以互转。也可以转成binary。

于是,该页面的源码里给出了一个叫做 'banner.p'的文件,里面就有一堆ASCII码了。

解出来是什么呢!? 一堆list object 里包含着数个 tuple , tuple 包含这一组类似于(' ',4), ('#',6')

看不懂,这是啥!? 乖乖继续到官网看 => banner 是一个*unix的命令....运行看看!

噢,终于明白了,原来那些tuple就是告诉你 空格要大印多少个,'#'要打印多少个。

每个list 里的 tuple里的数字加起来都是一样的!

很简短,却花了那么多功夫,折腾。

here go

 

import pprint, pickle

file = open('banner.p','rb')
data = pickle.load(file)

for c in data:
    line = ""
    for x in c:
        for i in range(x[1]):
            line += x[0]
    pprint.pprint(line)

结果是!哇!真好看的说(解题后的喜悦所影响,哈哈). next. is level 6. cheer

 

'                                                                                               '
'              #####                                                                      ##### '
'               ####                                                                       #### '
'               ####                                                                       #### '
'               ####                                                                       #### '
'               ####                                                                       #### '
'               ####                                                                       #### '
'               ####                                                                       #### '
'               ####                                                                       #### '
'      ###      ####   ###         ###       #####   ###    #####   ###          ###       #### '
'   ###   ##    #### #######     ##  ###      #### #######   #### #######     ###  ###     #### '
'  ###     ###  #####    ####   ###   ####    #####    ####  #####    ####   ###     ###   #### '
' ###           ####     ####   ###    ###    ####     ####  ####     ####  ###      ####  #### '
' ###           ####     ####          ###    ####     ####  ####     ####  ###       ###  #### '
'####           ####     ####     ##   ###    ####     ####  ####     #### ####       ###  #### '
'####           ####     ####   ##########    ####     ####  ####     #### ##############  #### '
'####           ####     ####  ###    ####    ####     ####  ####     #### ####            #### '
'####           ####     #### ####     ###    ####     ####  ####     #### ####            #### '
' ###           ####     #### ####     ###    ####     ####  ####     ####  ###            #### '
'  ###      ##  ####     ####  ###    ####    ####     ####  ####     ####   ###      ##   #### '
'   ###    ##   ####     ####   ###########   ####     ####  ####     ####    ###    ##    #### '
'      ###     ######    #####    ##    #### ######    ###########    #####      ###      ######'
'                                                                                               '

 

 

 

 


Login *


loading captcha image...
(type the code from the image)
or Ctrl+Enter