自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夜雨长安小木屋

细细的品味思考的味道

  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 批量更改文件后缀

import os, stringdef myrename(path,old_ext,new_ext): if path[-1]!="\\": path=path+"\\" ff = os.listdir(path) fname = [x for x in ff if os.path.isfile(path+x)] for file in fname: f = os.path.splitext(f

2014-07-27 13:49:30 557

原创 PythonChallenge 挑战之路 Level-33(终结)

首先下载一张图片,用beer2.jpg时,提示用.png,然后就能下载一张图片了。网页源码里面有一段提示:<!--If you are blinded by the light,remove its power, with its might.Then from the ashes, fair and square,another truth at you will glare.

2013-08-16 23:37:21 1144

原创 PythonChallenge 挑战之路 Level-32

这一关给出的是一个类似数独游戏,叫做Nonogram,大概的玩法就是按照每一行和每一列的要求确定每个格子是否点亮。http://zh.wikipedia.org/wiki/Nonogram给出了详细的介绍以及人工求解的思路。一开始的提示是下载一个warmup.txt,也就是一组输入,然后求解出结果。这组数据是9*9的,可以先人工求解,算出的结果是一个向上的箭头,尝试用up替换,得到第二组正式的

2013-08-16 20:34:48 1070

原创 PythonChallenge 挑战之路 Level-31

一开始的网页源码说和Python没有关系,点击图片却需要验证口令,口令是岛屿:国家,那么用Google图片搜索搜索一下这幅图,发现是泰国的一个祖父祖母石,在Koh Samui, Thailand所以口令就是:kohsamui:thailand调到下一个页面后是一副很炫的图片,提示给出了一些数据,上网搜了一下才知道这是一幅分形图,利用Mandelbrot算法构造,利用给出的参数画一幅新图后,和原

2013-08-15 11:59:54 920

原创 PythonChallenge 挑战之路 Level-30

首先下载一个.csv的文件,这是一个包含7367个浮点数的文件,然后就需要利用这些数构成一张图片,而7367=53*139,所以图片为53*139的,利用图片上的信息就可以再一步解码获得谜底了。代码如下:import Image,ref = open(r'F:\Python challenge\yankeedoodle.csv','r').read()data = re.findall(

2013-08-14 20:50:42 816

原创 PythonChallenge 挑战之路 Level-29

这一关的标题是silence,然后就没啥提示了,但是查看源码的时候可以发现有很多多余的空白行,信息应该是隐藏在这里面,读取页面后发现那些空白行中的空格个数都不一样,而这些数目刚好可以形成以BZh开头的一段文本,再用bz2解码就可以看到结果了。代码:import urllib,bz2f = urllib.urlopen('http://repeat:switch@www.pythonchall

2013-08-14 19:51:17 904

原创 PythonChallenge 挑战之路 Level-28

这一关还是图像处理。仔细看图片可以发现一些色条明暗相间。提示文字说RING-RING-RING,say it out loud,那么将图片的三个通道分离,发现条纹来自于GREEN通道。从网页的标题many pairs ring-ring来看,应该是将G通道的像素信息两两成对。尝试用这些坐标画图:并不是什么文字、图案,但是那两条平行线很明显,说明这些坐标点存在规律。将坐标相减,那两条

2013-08-14 17:54:54 946

原创 PythonChallenge 挑战之路 Level-27

这一关没整出来,看了攻略才知道要利用调色板神马的……首先下载zigzag.gif,这时候每个像素的上的信息是调色板的索引号。然后就需要用实际的颜色替换索引号得到等价的图片信息:import Image,string,bz2,keywordf = Image.open('zigzag.gif')fd = f.tostring()fp = f.palette.getdata()[1][:

2013-08-14 16:57:40 972

原创 PythonChallenge 挑战之路 Level-26

这一关需要前几关的几个未用的线索。首先这一关的提示有:be a man - apologize!I'm missing the boat其中第二个说你已经有了他的邮件,而且需要你去道歉,那么到目前为止联系最紧的就是19关(反转音频的每一帧)里面出现的邮箱,其次在23关中的第一条暗示中说你欠某个人一个道歉,去告诉他‘sorry',所以第一步就是给leopold.moz@pythoncha

2013-08-14 13:14:51 962

原创 PythonChallenge 挑战之路 Level-25

这一关的图片是一个拼图游戏(共5*5=25块),暗示了不少信息。网页源码的提示:这也暗示了需要将声音信息转化为图片信息。图片的文件名为lake1.jpg,尝试了lake2.jpg,发现没有,那么尝试lake1.wav,果然可以获得一段音频信息。一共25段,对应了图片的25块的暗示,首先下载下来:import urllibfor count in range(1,26): url

2013-08-13 23:27:59 878

原创 PythonChallenge 挑战之路 Level-24

这一关的图片是一张迷宫地图,只不过白色部分是迷宫的墙,深色部分是路。根据标题from top to bottom的提示,入口就是图片的右上角,出口就是图片的左下角。一开始以为路线会构成谜底, 结果:显然这还不是谜底。在仔细观察迷宫的路径,可以发现每个一个像素点,路径上的颜色就会变化,应该包含了一些信息。将这些像素点的R通道数据用二进制写到文件,打开可以发现前两位是 PK ,那么这些信息

2013-08-13 19:30:45 1152

原创 PythonChallenge 挑战之路 Level-23

这一关的网页源码提示挺多的:<!--TODO: do you owe someone an apology? now it is a good time totell him that you are sorry. Please show good manners althoughit has nothing to do with this level.--><!--'va

2013-08-13 15:29:03 879

原创 PythonChallenge 挑战之路 Level-22

这一关主要是处理.gif图片,之前也有过,不过那个图片只有一帧,这次下载下来的有很多帧,需要一帧一帧分解。可以看出每一帧的图片都是一个白点围绕中心(100,100)在变化,联想这一关的图片(一个游戏操纵杆),可以认为是白点相对中心的变化就是对一个点的操纵。最后的结果显示通过操纵点的运动一共画出了5个字母的轮廓,所以当白点回归到中心的时候,就是画下一个字母的信号了。代码如下:import

2013-08-13 12:04:49 997

原创 PythonChallenge 挑战之路 Level-21

这一关没有网页,谜面就是上一关的压缩包解压后的一个文件:package.pack,从文件名可以想到需要解压数据。给出的提示有2条:1.我们小时候经常玩的游戏;2.不知道怎么办的时候,我通常往回看。所以题目的意思应该就是需要对这个文件中的数据不断解压,或是倒序。但是到底采用什么样的解压方法就不知道了,网上搜了一下,http://past.makto.me/post/2011-11-27/1930

2013-08-12 15:00:52 888

原创 PythonChallenge 挑战之路 Level-20

这一关没有头绪,参考了别人的线索才整出来了……import urllib,reurl = 'http://butter:fly@www.pythonchallenge.com/pc/hex/unreal.jpg'#start = 30203#start = 2123456743start = 1152983631end = 2123456789find = re.compile(r

2013-08-12 14:12:36 1794

原创 PythonChallenge 挑战之路 Level-19

这一关主要是音频的处理了。图片的提示就是反转(大陆和海平面颜色反转了),网页源码中给出了一封邮件,需要从附件生成一段音频文件。代码如下:import base64text = open('19att.txt','r').read()indian = open('indian.wav','wb')wav = base64.b64decode(text)indian.write(wav)

2013-08-11 17:35:41 1515

原创 PythonChallenge 挑战之路 Level-18

这一关的提示就是:而这两幅图显然只有亮度有区别,一开始联想到是鸭子,所以尝试用darkness去替换,不对,尝试用brightness,对了然后按照提示,下载deltas.gz看来下一步就是处理这个压缩文件了。稍微研究了一下这个文件,发现是类似一开始图片的两片数据。那么应该就是把数据进行分割。import gzip,difflibff = gzip.open('deltas.

2013-08-10 12:22:25 1207

原创 PythonChallenge 挑战之路 Level-17

这一关很是麻烦……首先通过cookies的提示,需要查看cookies信息,然后知道需要回到第四关,然后用busynothing 替代 nothing,重复第四关的遍历,不过这次需要收集的是每一个页面的cookies信息,然后利用bz2处理这些信息,然后再回到第13关打电话给mozart的老爹…用获得的信息修改新页面的cookies,最后得到谜底,真是太复杂了……import re,bz2

2013-08-09 17:13:58 1072

原创 PythonChallenge 挑战之路 Level-16

这一关唯一的提示就是网页标题了:let me get this straight可以看出图片中有很多的小短线(粉红色的),但是分布散乱,那么题目的意思应该就是把他们对齐了。这个图片的数据用的是索引格式,上网查了一下才知道粉红色对应的是195代码如下:import Imageim = Image.open(r'F:\Python challenge\mozart.gif')newim

2013-08-07 11:35:30 775

原创 PythonChallenge 挑战之路 Level-15

这一关的图片是一个日历,年份只知道是1**6年,1月1号星期四,右下角的小日历可以看出2月有29天,所以是个闰年。网页源码的提示有:那么结合起来就知道主要是要找出年份,日期应该和1-27(第二天)有关。代码如下:import datetime, calendaryear = 1006for i in range(100): year+=10 if datetime

2013-08-07 11:00:11 724

原创 PythonChallenge 挑战之路 Level-14

这一关的图片说明是个很奇怪的图案,有点像条形码……点开网页源码,把这个图案下下来,发现居然是一个长条形(10000*1),源码中的提示为:在结合面包的图片,估计是想用(10000*1)的图片合成(100*100)的图片,规律就像面包的纹理一样,一圈一圈的。最后得到的图片不正,那么用与面包相反的纹理(下、右、上、左)就好了,代码如下:import Imageim = Image.ope

2013-08-07 10:31:29 1274

原创 PythonChallenge 挑战之路 Level-13

首先在上一关中,网址修改为evil4.jpg的时候(用IE打开),出现一句提示:Bert is evil! go back!   这是这一题的关键线索。进入这一关后,图片下显示phone that evil,那么用bert替换网址,显示了新的提示: Yes! Bert is evil! 然后就没有了,可是到底怎么才能给Bert打电话呢?尝试点击原图片中的数字键,单击5能进入一个新的页面,源码为

2013-08-07 09:19:53 595

原创 PythonChallenge 挑战之路 Level-12

这一关一开始都没有找到谜面是什么,上网查了一下才知道原来是把evil1.jpg换成evil2.jpg,然后出现一张图片告诉你后缀用.gfx,再修改一次就下载了一个evil2.gfx的文件。联想到那张分牌的图片,那么将该文件像分扑克牌一样一分为五,最后就得到了结果。代码如下:data = open('evil2.gfx','rb').read()for i in range(5):

2013-08-06 21:23:56 633

原创 PythonChallenge 挑战之路 Level-11

这一关的图片看起来总觉得怪怪的,第一感觉像是两张图片混在了一起,查看网页源码没有任何提示,估计只能从标题odd even下手了。把图片下载下来,发现很明显的像素存在问题,在奇偶不同位置上的像素似乎是来源于不同的图片。代码如下:import Image, ImageDrawim = Image.open('cave.jpg')new = Image.new('RGB',(320,240)

2013-08-06 18:23:14 688

原创 PythonChallenge 挑战之路 Level-10

图面文字为len(a[30])=?   点击图片中公牛的部分,显示了一段文本:a = [1, 11, 21, 1211, 111221,所以谜底应该就是找出序列的规律了。分析下规律:1,11(前一个数是1个1),21(前一个数是2个1),1211(前一个数是1个2,1个1),111221(前一个数是1个1,1个2,2个1),所以这个规律就是这种对前个数组成的描述规律啦。那么程序

2013-08-06 16:39:31 577

原创 PythonChallenge 挑战之路 Level-9

这一关的图片中有很多的小黑块,沿着图中景物的轮廓分布,应该就是谜面了。网页的标题为connect the dots,查看网页源码,提示有两个,第一个是解释如何查看上一关的解法(和通常的略有不同),第二个为:first+second=?  ,紧接着就是first和second的两坨数据:<!--first+second=?first:146,399,163,403,170,393,169

2013-08-06 13:02:25 769

原创 PythonChallenge 挑战之路 Level-8

点击图面,发现需要用户名和密码来登录,查看页面源码,在最后有这样的提示:<!--un: 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'pw: 'BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x

2013-08-06 11:12:24 666

原创 PythonChallenge 挑战之路 Level-7

这一关的图片的中间明显有问题,而除此之外之后没有任何提示,查看网页源码也没有任何下载链接。看来应该是处理这副图片的中间那一条线的数据了。查了一下Python关于图片处理的模块,找到一个PIL(Python Image Library),需要自己手动下载、安装一下。弄好后,读取中间的像素点的信息,发现像素的R G B都相等(上网查了一下,只要R=G=B,那么就是灰色的,正如图片上显示的那样)

2013-08-04 20:01:26 1461

原创 PythonChallenge 挑战之路 Level-6

这一关的提示基本没有,网页源码只有一句一开始被忽视的提示:用zip替换channel后,只有一句话:yes. find the zip.可是去哪去找zip呢?没办法,上网搜了一下才知道,原来是用zip替换html(http://www.pythonchallenge.com/pc/def/channel.zip),坑爹啊。这样可以下载一个.zip文件,里面包含了很多的XXXX.txt文件,

2013-08-04 15:33:41 773

原创 PythonChallenge 挑战之路 Level-5

在这一关图片的下面,只有一句话:pronounce it感觉莫名其妙的,点图片也没反应,查看源码,发现可以下载一个叫banner.p的文件,打开一看,恩,一坨数据。网页源码最下面的提示:好吧,还是感觉莫名奇妙的,上网搜了一下才知道要用pickle模块来还原数据。还原后的数据是很多的元组,第一个是' '或者'#',紧跟着是一个数字,大概就是前面这个重复多少个吧。看别人有用图像来处理的

2013-08-04 13:58:12 525

原创 PythonChallenge 挑战之路 Level-4

歇了好几天,继续挑战!第四关什么提示都没有,查看源码,有这么一句话:<!-- urllib may help. DON'T TRY ALL NOTHINGS, since it will never end. 400 times is more than enough. -->再返回,点击图片,转到一个新的页面:http://www.pythonchallenge.com/pc/de

2013-08-04 13:24:02 646

原创 PythonChallenge 挑战之路 Level-3

第三关的谜面是:One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.大概意思就是每一个小写字母的两边都有且只有3个大写字母,也就是如oXXXaXXXo的形式中,a就是需要找出的小写字母。同样从网页源码里找到目标文本,代码如下:import urllibimp

2013-07-30 19:07:42 744

原创 PythonChallenge 挑战之路 Level-2

这一关谜面是:“确认字母,它们可能在书中,但也可能在PageSource中。”PageSource应该是指页面的源代码,查看后在最后面发现如下的提示:<!--find rare characters in the mess below:-->紧跟着的就是一代段的字符串。看来谜底就是找出这些字符串中的字母。我是先把这些字符串粘贴到一个文本中在处理的:f = open("d

2013-07-30 17:28:31 658

原创 PythonChallenge 挑战之路 Level-1

按照第一感觉,应该是字符串替换,谜面为g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbc

2013-07-30 16:46:41 669

原创 PythonChallenge 挑战之路 Level-0

背景:突然想学Python了。先花了3天时间在http://www.codecademy.com/zh/tracks/python上学了一遍,基本知识掌握了一些,后来发现有人推荐http://www.pythonchallenge.com/ 觉得挺有意思的,打算尝试一下,看能过多少关,顺便也写下来记录一下:)=========================分割线===========

2013-07-30 16:22:09 622

《C++参考大全》(PDF)

很好的一本关于C++的工具书 PDF格式,方便阅读

2009-07-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除