Python Challenge 9
Challenge 9
Challenge 9图片里有一堆黑点,与Challenge 7类似,或许还是需要PIL。标题让我们连接所有的点,但是真的是“这些”点吗?
页面源码的注释里说:
first+second=?
然后提供了first的一大堆数字和second的一小堆数字,其中first有442个数字,second有112个数字,显然不是成对的。存入文件p9.txt
先。
这题一直困扰了很久,笔者始终以为first是横坐标,second是纵坐标,两者经过某些筛选最后成对地应用到图片上。可惜我错了,骨哥说first+second
只是把它们俩连起来,你知道字符串的加法吧?仅此而已。然而横纵坐标对,只是偶数位和奇数位的配对就够了,是我想太多了么?
照骨哥说的筛选出其中的数字并连接成一个list
f = open("p9.txt")
fr = f.read()
fr = fr.replace('\n','')
import re
xy = re.findall(r'\d+',fr)
xy = [int(x) for x in xy]
然后将list中的偶数位作为横坐标,奇数位作为纵坐标,重新画图(颜色随意,白色佳,似乎跟原图没有半毛钱关系啊除了大小相同以外)
from PIL import Image
img = Image.open("good.jpg")
new_img = Image.new(img.mode, img.size)
for i in range(0, len(xy), 2):
new_img.putpixel((xy[i],xy[i+1]),(255,255,255)) #白色看着显眼一些
new_img.save("p9.jpg")
输出结果
也许原图在这里起到了提示的作用,所有的黑点连起来,好的!是一棵树!囧rz
那么这幅图呢?cow!我很想说。但是不是,它是一直公牛…所以URL:http://www.pythonchallenge.com/pc/return/bull.html,进入Challenge 10。
博客中 Python Challenge 所有源码分享:打开坚果
This post is licensed under CC BY 4.0 by the author.