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

python challenge level 9 url: http://www.pythonchallenge.com/pc/return/good.html

这一题,其实还是很简单的,看到这张图之后我产生了两个想法:

  1. 连接这些点
  2. 也许于上一次的图片处理一样,需要使用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')

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

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

页面提示说这是一只公牛,所以应该是bull,因此下一题的链接为:http://www.pythonchallenge.com/pc/return/bull.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值