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


    pythonchallenge-14地址 : http://www.pythonchallenge.com/pc/return/italy.html

    题目解析:获取的信息有 
    ①图片是一个便便一样的面包
    ②源代码中有信息如下
    <!-- remember: 100*100 = (100+99+99+98) + (...  -->
    
    
    

    ③页面存在一个wire.png的图片,解析后得出图片的像素未1*10000

    分析题意,按2中的方法将3中的图片分解,然后按一图片意思,旋转着保存在图片中。。如:第100个像素,放在最上面一行,第100-199放在最右侧的一列上···

    解题过程:
    from PIL import Image
    #页面上给的第二张图wire.png是一个10000*1的图片,是要改成一个100*100的图,
    # 改的方式和面包一样,绕圈圈,比如说先向右走了100步,然后向下走99步,
    # 再向左走99步,向上走98步,这样,一圈就完成了。
    path = u'./other/wire.png'
    img = Image.open(path)
    imnew=Image.new('RGB',(100,100),color=(255,255,255))
    #imnew.show()
    
    num = 100
    a = 100
    counta = 0
    for i in range(100):
        if a > 0:
            b = c = a - 1
            d = a - 2
            #listaa = [a,b,c,d]
            #crop参数为(左上坐标和右下坐标(不包含右下点))(left, upper, right, lower
            #a
            boxa = (counta,0,counta+a,1)
            region=img.crop(boxa)
            imnew.paste(region, (i, i))
            #b
            boxb = (counta+a,0,counta+a+b,1)
            region=img.crop(boxb)
            region = region.transpose(Image.ROTATE_270)
            imnew.paste(region, (100-i-1,i+1))
            #d
            boxc = (counta+a+b,0,counta+a+b+c,1)
            region=img.crop(boxc)
            region = region.transpose(Image.ROTATE_180)
            imnew.paste(region, (i, 100-i-1))
            #d
            boxd = (counta+a+b+c,0,counta+a+b+c+d,1)
            region=img.crop(boxd)
            region = region.transpose(Image.ROTATE_90)
            imnew.paste(region, (i, i+1))
    
            counta = counta+a + b + c + d
            a = a - 2
    
    imnew.show()
    
    
    
    

      答案:cat

     
  • 相关阅读:
    HTML5兼容性问题
    网站——如何实现轮播效果
    总结(1)
    MAC_terminal_终端设置
    JS_tips(updating):执行时间;
    Object:window_方法
    Object:Array数组——对象的集合
    Object:Math——对数据的数学计算
    js 统计字符串或者数组的出现次数
    react-native项目实战积累
  • 原文地址:https://www.cnblogs.com/yinsjun/p/7552607.html
Copyright © 2020-2023  润新知