使用python 3.x 对pythonchallenge-----16的解答过程

pythonchallenge-16 解析
该文章介绍了如何解决pythonchallenge-16挑战中的问题,通过处理一张名为mozart.gif的图片来找到答案。利用Python的PIL库,对图片进行特定的像素操作,将红色标记区域右侧的部分移动到左侧,左侧部分移动到右侧,以此来揭示隐藏的信息。
pythonchallenge-16地址 : http://www.pythonchallenge.com/pc/return/mozart.html


题目解析:网站标题是 let me get this straight  
图片中每行有一个红色的区域,把红色的区域右边的放到前面,红色区域左边的放到后面,然后对齐

解题过程:
 
#http://www.pythonchallenge.com/pc/return/mozart.html
from PIL import Image
path = u'./other/mozart.gif'
img = Image.open(path)
imgnew = Image.new("P",(640,480),255)

print(img.getbbox())
print(img)

for i in range(480):
    z = 0
    for j in range(2,638):
        if  img.getpixel((j,i)) == img.getpixel((j -2 ,i) )== img.getpixel((j + 2,i)) == 195:
            z = j

    box_before  = (0,i,z,i+1)
    box_after  = (z,i,640,i+1)
    region_before = img.crop(box_before)
    region_after = img.crop(box_after)
    imgnew.paste(region_after, (0,i))
    imgnew.paste(region_before, (640-z,i))

imgnew.show()

 答案:romance

 



 


 
 

转载于:https://www.cnblogs.com/yinsjun/p/7575119.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值