PythonChallenge游戏体验10-12

PythonChallenge-10地址
http://www.pythonchallenge.com/pc/return/bull.html
在这里插入图片描述
百度了一下,正确的规律应该如下:
a[0] = 1 由 1 个 1 组成,那么
a[1] = 11 由 2 个 1 组成,那么
a[2] = 21 由 1 个 2,1 个 1 组成,那么
a[3] = 1211 由 1 个 1,1 个 2,2 个 1 组成,那么
a[4] = 111221 …省略
python 中的 itertools 包中的 groupby 可以用来方便的解决。
有关 itertools 包介绍可以查看此链接
https://www.liaoxuefeng.com/wiki/1016959663602400/1017783145987360

from itertools import groupby
a = '1'
for i in range(30):
    a =  ''.join(str(len(list(v))) + k for k ,v in groupby(a))#将k v 加起来 

print(len(a))

最后结果为5808

PythonChallenge-11地址 :
http://www.pythonchallenge.com/pc/return/5808.html
在这里插入图片描述
题目提示odd even->奇偶 那应该就是要我们把图片按奇偶行、奇偶列拆开为两幅图画

from PIL import Image
img  = Image.open(r'file/11.png')
print(img.format,img.size,img.mode)

new_img = Image.new('RGBA',(800,800),(255,255,255))
new_array = new_img.load()

for x in range(0,640):
    for y in range(0,480):
        if (x%2 ==0) and  (y%2 == 0):  #取偶数行列
            color = img.getpixel((x,y))
            new_array[x/2,y/2] = color

new_img.show()

在这里插入图片描述
你会发现图片右上角有一串字母 evil 这里留出的白边是因为我预设置的图片大小太大了的结果

PythonChallenge-12地址
http://www.pythonchallenge.com/pc/return/evil.html
在这里插入图片描述
题目解析: 查看源代码,图片地址为evil1.jpg 没有思路百度得到解析,用evil2.jpg访问,出现一个图片,图片内容为not jpg --.gfx,于是用evil2.gfx 访问链接,打开是一个乱码文件,用IE下载gfx文件
题目的意思就是将gfx文件分为5份,然后在图片中显示

from PIL import Image,ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True #防止图片损坏出现报错

img = Image.new("RGBA",(4000,1000))

f = open('file/12evil2.gfx','rb').read()

for i in range(5):
    im = open('file/img' + str(i) + '.jpg','wb')
    im.write(f[i::5])
    im = Image.open('file/img' + str(i) + '.jpg')
    img.paste(im,(i*650,0))

img.show()

在这里插入图片描述
这里其实我生成的第四张图片是损坏的,但是不知道为什么把它粘贴到我生成的新图片中又能显示了,希望大佬指点
在这里插入图片描述
因此得到答案:disproportional

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值