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()
联系李兴球,免费发送答案!
发表评论