生成方块gif图,显示在海龟画图屏幕上。《Python海龟宝典》代码示例程序

如本文章标有价格,需议价或其它事情商议请加微信pythonxia

不同颜色图章10×10阵列python海龟宝典代码示例程序

Python代码力求可读性高,要有注释,注释最好也对齐。

"""
   生成方块gif图,显示在海龟画图屏幕上。
   这个程序使用了pillow模块,生成gif图像,
   然后海龟会使用这些gif图作为自己的造型,
   最后海龟会依次切换造型图以10X10阵列显示在屏幕上。
   问题:所盖的图章静止不动,你能让它们动起来吗?
   联系李兴球,免费发送答案!
"""
import os                                    # 导入os模块
import turtle                                # 导入turtle模块
from PIL import Image                        # 从pillow模块导入Image 
from random import randint                   # 从随机模块导入randint

def makecolor():
    """产生RGB颜色三元组"""
    r = randint(0,255)                       # 红色份量
    g = randint(0,255)                       # 绿色份量
    b = randint(0,255)                       # 蓝色份量 
    return r,g,b                             # 返回rgb

def makegif(path,amounts):
    """在path路径下生成gif文件
       path:文件夹路径
       amounts:数量
    """
    size = (10,10)                           # gif文件分辨率
    images = []                              # 新建列表
    for i in range(amounts):
        filename = f"{path}{os.sep}{str(i)}.gif"    
        c = makecolor()                      # 产生颜色
        im = Image.new("RGBA",size,color=c)  # 新建图形对象
        im.save(filename)                    # 保存gif文件
        images.append(filename)              # 添加到列表        
    return images                            # 返回列表  

def main():
    """主要执行函数"""
    # 指定生成图片的文件夹,如果不存在,则创建它
    folder = os.getcwd() + os.sep + 'test'
    if not os.path.exists(folder):os.mkdir(folder)
    
    images = makegif(folder,100)             # 在folder生成100个gif文件
    [turtle.addshape(im) for im in images]   # 注册到造型字典

    i = 0                                    # 建立索引号
    turtle.ht()                              # 隐藏海龟对象
    turtle.penup()                           # 抬笔
    while i < 100:                           # 当i小于10的时候
        r = i // 10                          # 取行数
        c = i % 10                           # 取列数
        x = c * 20                           # 算x坐标
        y = r * 20                           # 算y坐标  
        turtle.goto(x,y)                     # 到达x,y坐标
        turtle.shape(images[i])              # 切换造型 
        turtle.stamp()                       # 盖图章
        i += 1                               # 索引号加1
    turtle.done()

if __name__ == '__main__':

    main()

联系李兴球,免费发送答案!

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 生成方块gif图,显示在海龟画图屏幕上。《Python海龟宝典》代码示例程序
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页