pythonchallenge Level 33

第33关地址:http://www.pythonchallenge.com/pc/rock/beer.html

用户名:repeat  密码:switch

查看源码

得到提示:

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.

打开:http://www.pythonchallenge.com/pc/rock/beer1.jpg

打开:http://www.pythonchallenge.com/pc/rock/beer2.jpg

提示是png,打开:http://www.pythonchallenge.com/pc/rock/beer2.png

得到一张图

根据提示依次去掉最亮的点,生成新的图

import math
from PIL import Image

img = Image.open('beer2.png')
print(img.size) # (138, 138)
print(img.mode) # L 灰度图像

data = list(img.getdata())
data_set = set(data) # 去重,为找最大值做准备

while data_set:
    max_num = max(data_set) # 找出最大值
    imgData = [d for d in data if d < max_num]
    n = math.sqrt(len(imgData))
    if n == int(n) and n > 0:
        newImg = Image.new(img.mode, (int(n), int(n)))
        newImg.putdata(imgData)
        newImg.save('img/' + str(int(n)) + '.png')
    data_set.remove(max_num) # 去掉最大值

得到一套图

把有方框的字母组合起来得到:gremlins (s在63看不太清)

打开:http://www.pythonchallenge.com/pc/rock/gremlins.html 挑战结束

 

posted @ 2021-12-07 10:09  OTAKU_nicole  阅读(57)  评论(0编辑  收藏  举报