python第七关再来一盘_Python Challenge 第七关

第七关,只有一张图片,右键源代码也什么都没有,只是这图片上有一行类似马赛克一样的部分。看来答案只有在这张图上找了。下载了图片,去网上搜一下有什么库可以处理图像。搜到了一个PIL,发现安装的pythonxy里面直接有这个库,可以直接用了。

首先用画图,找到这一行马赛克部分的区域:

横向:0-609

纵向:43-53

就先输出一行:

img = Image.open(r'C:\Users\Leo\Desktop\oxygen.png')

data= [img.getpixel((i, 43)) for i in xrange(0, 609)]print data

得到一个由四元组组成的列表,而且每个四元组前三个数都一样,最后一个数为255,应该表示一组 RGBA 数据。每七个四元组都是一样的。这一步卡了很久,不知道如何进行下去。去网上搜了下,说转换为 ASCII 码,因为 ASCII 码也是255个,就试了下:

img = Image.open(r'C:\Users\Leo\Desktop\oxygen.png')

data= [chr(img.getpixel((i, 43))[0]) for i in xrange(0, 609, 7)]print ''.join(data)

得到了一行输出:

smart guy, you made it. the next level is [105, 110, 116, 101, 103, 114, 105, 116, 121]

看来把这个列表改为 ASCII 码就是答案了:

rst = [105, 110, 116, 101, 103, 114, 105, 116, 121]

msg= [chr(i) for i inrst]print ''.join(msg)

输出答案:integrity

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值