python challeng 25 解题总结

 python challenge 25网址:www.pythonchallenge.com/pc/hex/lake.html(用户名:butter,密码:fly)。查看网页源代码可以看到一个提示:can you see the waves。于是想到去看网址:www.pythonchallenge.com/pc/hex/lake1.wav,果然存在这个音频文件,看到关数以及拼板的数量,于是一直下载到lake25.wav.这是一个奇怪的帧率音频文件。让我们的波形编辑器打开它,看看它是什么样子。嗯,有一个明确的行为期3样本,而不是我们期望在所有的音频。也许它并不是在所有的音频,但一些其他形式的数据编码,说一个形象,一个拼图的一部分。如果我们除以3(3个字节,每个像素),我们得到完整的拼图3600。

源代码如下:

 

 

 

##	template = "http://butter:fly@www.pythonchallenge.com/pc/hex/lake%i.wav"
##	fname=r'd:25_lake%d.wav'
##	for i in range(1, 26):
##		urllib.urlretrieve(template % i,fname%i)
##	# 完成拼接
##	l=[]
##	for i in range(1,26):
##		f=wave.open(ur'd:25_lake%d.wav'%i,'rb')
##		l.append(f.readframes(f.getnframes()))
##		f.close()
##	im=Image.new('RGB',(300,300))
##	for i in range(25):
##		im.paste(Image.fromstring('RGB',(60,60),l[i]),( 60*(i%5),60*(i//5)))
##	im.show()

 

 

下一关网址:www.pythonchallenge.com/pc/hex/decent.html