PythonChallenge Mission 14
来源:互联网 发布:java双重for循环优化 编辑:程序博客网 时间:2024/06/16 05:16
进入14关,看到了一个面包,肚子不争气的饿了。。。
言归正传,除了这个面包还看到了一张条纹图案,不明觉厉。
然后查看源代码,看到了一行注释:
<!-- remember: 100*100 = (100+99+99+98) + (... -->
然而并不知道这样分解是什么意思,将两张图片下载下来后发现那张条纹图案是被“折叠”为正方形的长条图案。
再看看题目,walk around,顿时提示有了意义:
100*100就是图片的全部像素
而(100+99+99+98)不就是100*100图像的最外围一层像素嘛
于是明白了题目是要我们把这张长条从外往里铺满成一张完整的图片啊,于是上代码:
from PIL import Imageimg=Image.open('wire.png')print img.sizedef decode(source): mImage=Image.new(source.mode,(100,100)) left,top,right,bottom=0,0,99,99 dx,dy=1,0 x,y=0,0 for i in range(10000): print x,y mImage.putpixel((x,y),source.getpixel((i,0))) if(x==bottom and dx==1): dx=0 dy=1 left+=1 if(y==right and dy==1): dx=-1 dy=0 bottom-=1 if(x==top and dx==-1): dx=0 dy=-1 right-=1 if(y==left and dy==-1): dx=1 dy=0 top+=1 x+=dx y+=dy return mImagedecode(img).show()
结果出来一张猫的图片,将网址替换为cat,http://www.pythonchallenge.com/pc/return/cat.html,然后我们看到了这张猫的生活照,真心呆萌!
上面提示我们它的名字是uzi,替换网址为 http://www.pythonchallenge.com/pc/return/uzi.html,进入下一关!
花絮:
1.顺逆时针其实都可以,首先顺时针出来的猫是倒着的,于是将代码改为了逆时针
2.那个面包不仅提示你的肚子饿,也会提示你答案要把转圈圈才能出来:)
1 0
- PythonChallenge Mission 14
- PythonChallenge Mission 0
- PythonChallenge Mission 1
- PythonChallenge Mission 2
- PythonChallenge Mission 3
- PythonChallenge Mission 4
- PythonChallenge Mission 5
- PythonChallenge Mission 6
- PythonChallenge Mission 7
- PythonChallenge Mission 8
- PythonChallenge Mission 9
- PythonChallenge Mission 10
- PythonChallenge Mission 11
- PythonChallenge Mission 12
- PythonChallenge Mission 13
- PythonChallenge Mission 15
- PythonChallenge Mission 16
- PythonChallenge Mission 17
- 在Python中调用shell命令及 获取python命令中的参数
- Android消息推送3---xmpp协议
- iOS中XMPP简单聊天实现 好友和聊天
- 广义表的创建与打印
- Qt for Windows:Qt 5.6.0 MinGW 静态编译版本制作
- PythonChallenge Mission 14
- 唯爱小粽子:Spring+Mybatis实现多数据源
- libevent(一)
- CAS实现单点登录(SSO)经典完整教程
- 怎么把存储UTF-8编码的字符串转换成实际字符
- Linux环境编译安装OpenJDK
- iOS开发如何设置sqlite版本升级
- 排列组合的计算
- 关于内购