您的位置:首页 > 编程语言 > Python开发

我大学剩下一年半的生活(十)——pythonchallenge之level9

2012-02-16 14:38 363 查看
python challenge level 9 url: http://www.pythonchallenge.com/pc/return/good.html
这一题,其实还是很简单的,看到这张图之后我产生了两个想法:

连接这些点
也许于上一次的图片处理一样,需要使用rgb的值,不过可能性比较小

然后看了看title,果然,这一题的提示是连接这些点。但是如果仅仅是把图片上所看到的点连接起来似乎得不到什么信息,于是又打开了也页面的源代码,果然信息都藏在页面源代码中。在注释中的first和second这两个list估计就是保存所需要连接的点,首先是下载这张图片,然后在创建py文件中定义一个叫first和一个叫second的list,内容则是注释中的内容。接下来就是开始研究PIL这个库了,在这个库中有一个ImageDraw模块,这个模块中有一个line函数,这个函数的作用就是连接给定的点。真的是非常适合这道题。于是就可以很轻松的得到这一题的代码:

#! /usr/bin/env python
'''python challenge level 9
question url: http://www.pythonchallenge.com/pc/return/good.html answer url: http://www.pythonchallenge.com/pcc/return/bull.html:huge:file '''

import Image
im = Image.open("level9.d/good.jpg")

first_set = [...]  # 注释中的内容

second_set = [...]  # 注释中的内容

import ImageDraw
nim = Image.new(im.mode, im.size)  # 为了得到更好的视觉效果,我创建了一张新的图片,背景默认为black
draw = ImageDraw.Draw(nim)
draw.line(first_set, fill='#fff')  # 将线条设置成白色
draw.line(second_set, fill='#fff')
del draw
nim.save('level9.d/level9_result.png')

最后就可以得到一张牛的图



我先在url中输入cow,回转跳到一个不正确的页面,页面的内容如图所示:



页面提示说这是一只公牛,所以应该是bull,因此下一题的链接为:http://www.pythonchallenge.com/pc/return/bull.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: