第十二题地址:http://www.pythonchallenge.com/pc/return/5808.html
打开地址看到一张很混沌的图片,完全没有提示,依旧是查看HTML代码。
<title>odd even</title>
外加能下载到一张cave的图片。搜索网上的解决方案,是将两幅重合在一起的图分开,并且根据第奇数个像素点和偶数个像素点分开,各自组合成一幅图。
from PIL import Image
filename = 'C:\Python27\cave.jpg'
img = Image.open(filename)
width = img.size[0]
height = img.size[1]
odd = even = Image.new(img.mode, (width/2, height/2))
for x in range(width):
for y in range(height):
pixel = img.getpixel((x,y))
# odd
if x % 2 == 0 and y % 2 == 0:
odd.putpixel((x/2, y/2), pixel)
elif x % 2 == 1 and y % 2 == 1:
odd.putpixel(((x-1)/2, (y-1)/2), pixel)
# even
elif x % 2 == 1 and y % 2 == 0:
even.putpixel(((x-1)/2, y/2), pixel)
elif x % 2 == 0 and y % 2 == 1:
even.putpixel((x/2, (y-1)/2), pixel)
odd.save('C:\Python27\\12-odd.jpg')
even.save('C:\Python27\\12-even.jpg')
新建图像,然后取奇数,偶数的像素点分别填入新建的图像。最后得到两幅图的图案是相同的。
得到通关密码 evil。