当前位置: 首页 > 后端技术 > Python

又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧

时间:2023-03-26 11:44:52 Python

又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧♀?♀【阅读全文】后唐李煜曾说道,樱花落尽春将困,秋千架下归时。漏暗斜月迟迟,花在枝。樱花落尽的时候春天也将过去了,秋千架下归去时。天上的斜月姗姗来迟,花还在枝头。关于python画图相关的,我们一直使用的是turtle来画,用专业的非标准库来做专业的事儿。将需要使用到的内置库或者非标准库全部都导入到当前的代码块中。from time import sleep # 用于控制程序运行时的阻塞停顿from turtle import * # 绘图相关接口import random # 生成随机数设置全局需要初始化的对象,以及相关的全局参数设置,这样就不用在后面每画一笔进行设置了。但是画布上面有一个箭头一直无法消除,有知道的大佬烦请留言说一下解决办法,感激不尽!tle = Turtle() # 初始化小乌龟画笔对象tle.hideturtle() # 全局隐藏画笔tle.clear() # 清除屏幕tle.speed(0) # 设置画笔速度为0,也就是最快的画笔速度scr = Screen() # 初始化屏幕对象getscreen().tracer(30, 0) # 返回一个TurtleScreen类的绘图对象,并开启绘画,加速绘画过程scr.screensize(bg='white') # 设置背景颜色开始绘制,设置开始时的画笔相关的属性或参数。tle.left(90)tle.up()tle.backward(150)tle.down()tle.color('sienna')接下来是编写两个函数,一个是用于生成树枝/树干并在对应的树枝旁边画上樱花。另一个则是在樱花树的地上铺满掉落的樱花,这样的思路来源于CSDN博客平台,向大佬递茶!编写画樱花树的树枝/树干部分/树枝樱花的函数draw_branch_flower。def draw_branch_flower(len): ''' 绘制树枝/花函数 :param len: 树枝长度 :return: ''' sleep(0.0005) if len > 3: if 8 <= len <= 12: if random.randint(0, 2) == 0: tle.color('snow') else: tle.color('lightcoral') tle.pensize(len / 3) elif len < 8: if random.randint(0, 1) == 0: tle.color('snow') else: tle.color('lightcoral') tle.pensize(len / 2) else: tle.color('sienna') tle.pensize(len / 10) tle.forward(len) a = 1.5 * random.random() tle.right(20 * a) b = 1.5 * random.random() draw_branch_flower(len - 10 * b) tle.left(40 * a) draw_branch_flower(len - 10 * b) tle.right(20 * a) tle.up() tle.backward(len) tle.down()编写画樱花树旁边的地上的花瓣函数draw_ground_flower。def draw_ground_flower(flower_num): ''' 绘制地上掉落的花瓣 :param flower_num: 花瓣数量 :return: ''' for i in range(flower_num): a = 200 - 400 * random.random() b = 10 - 20 * random.random() tle.up() tle.forward(b) tle.left(90) tle.forward(a) tle.down() tle.color('lightcoral') tle.circle(1) tle.up() tle.backward(a) tle.right(90) tle.backward(b)调用樱花树相关的绘图函数,快速完成绘图过程。draw_branch_flower(60)draw_ground_flower(200)使用exitonclick函数保持在绘画完成时,窗口不会直接关闭。scr.exitonclick()以上就是樱花树的全部绘制过程了,完整的代码块文件请在♀?♀内回复'1001'获取,直接运行即可。【往期精彩】Python 读取PDF文件为文本字符并转换为音频...python 获取最新房价信息-以北京房价为例办公自动化:Image图片转换成PDF文档存储...python做一个微型美颜图片处理器,十行代码即可完成...用python做一个文本翻译器,自动将中文翻译成英文,超方便的!小王,给这2000个客户发一下节日祝福的邮件...python 一行命令开启网络间的文件共享...PyQt5 批量删除 Excel 重复数据,多个文件、自定义重复项一键删除...再见XShell,这款国人开源的终端命令行工具更nice!python 表情包下载器,轻松下载上万个表情包、斗图不用愁...Python 自动清理电脑垃圾文件,一键启动即可...有了jmespath,处理python中的json数据就变成了一种享受...