第25关
完成这一关后,不得不佩服弄出这道题的Nadav Samet,同时更加佩服解决了它的大神。
这是一幅拼图模样的图片,根据Page Source里的提示can you see the waves?,这一关还要用到wave模块。
把URL后缀改为lake1.wav,lake2.wav,…,lake25会得到25个wav文件。这25个wav文件对应着刚才的25块拼图。把这25个wav文件的内容依次平起来,会得到一张300*300大小的图片。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import urllib import StringIO import wave from PIL import Image
url_t = 'http://butter:fly@www.pythonchallenge.com/pc/hex/lake%i.wav' Im = Image.new('RGB', (300, 300))
for i in range(25): print "%i/%i" % (i + 1, 25) data = wave.open(StringIO.StringIO(urllib.urlopen(url_t % (i + 1)).read())) patch = Image.frombytes('RGB', (60, 60), data.readframes(data.getnframes())) pos = (60 * (i % 5), 60 * (i // 5)) Im.paste(patch, pos)
Im.show()
|
图片上的信息为decent, http://www.pythonchallenge.com/pc/hex/decent.html