python挑战之level 28

连接为:http://www.pythonchallenge.com/pc/ring/bell.html

密码:(repeat,switch)

推荐视频:#28 many pairs ring-ring 铃儿响叮当

————————————————————————————————————————————————

图片是一个瀑布

题目:many pairs ring-ring

提示:RING-RING-RINGsay it out loud

注释:无

这是什么意思啊?很多ring—ring?大声点在提示中。三个ring。百度一下传说RING-RING-RING读着读着会变成green.访问green.html,会提示“yes! green!”从图中也能看出很多绿色的竖条,提取绿通道之后发现那些竖条是成对的,偶数下标的和奇数下标的总是一个暗,一个亮。网页标题也提示pairs,猜想两个一组。
原来是将rgb三色分离,然后再成对比较绿色通道中的颜色值

_______________________________________________________________________________________________

from PIL import Image
#分离三原色通道
im =Image.open('bell.png')
r,g,b = im.split()
#获取绿色通道数据
gdata=list(g.getdata())

print('偶数通道值:',gdata[:16:2])
print('奇数通道值:',gdata[1:16:2])

#比较两行数据
d_value=[c1-c2 for c1,c2 in zip(gdata[::2],gdata[1::2])]
print(d_value[:10])
#把绝对值不等于42的差值存到新的列表
diff=[abs(i) for i in d_value if abs(i) != 42]
print('length:%d'%len(diff),diff)
#转换我字符串
text=bytearray(diff)
print(text)
————————————————————————————————————————————————————————

结果为:

偶数通道值: [55, 73, 120, 60, 76, 114, 59, 119]
奇数通道值: [97, 115, 78, 102, 118, 72, 101, 77]
[-42, -42, 42, -42, -42, 42, -42, 42, 42, -42]
length:24 [119, 104, 111, 100, 117, 110, 110, 105, 116, 40, 41, 46, 115, 112, 108, 105, 116, 40, 41, 91, 48, 93, 32, 63]
bytearray(b'whodunnit().split()[0] ?')
————————————————————————————————————————————————————————

可以看出字符串为:

'whodunnit().split()[0] ?'
whodunnit:凶杀悬疑小说(或电影、戏剧),

看到别人的。就是主要相关人员,Python的发明人为Guido van Rossum,所以答案就是guido啦。

下一关:http://www.pythonchallenge.com/pc/ring/guido.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值