实现思路主要是利用 Python 绘图模块 Turtle
再结合随机函数生成任意的一棵树,
樱花树主要组成部分有树干和花瓣以及飘落的花瓣构成。
import turtle
import random
import time
需要以上模块

1.画樱花的躯干

绘画的树干使用了 Python 中的随机函数,
这样每次生成的树干都是随机的,
树干的选择也是随机设置参数进行调整。

示例图:

代码如下所示:# 画樱花的躯干(60,t)
def Tree(branch, t):  # 写一个躯干的函数time.sleep(0.0005)   # 用到的函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间,推迟了0.0005秒。 if branch > 3:if 8 <= branch <= 12:if random.randint(0, 2) == 0:   # 随机数,产生 0 到 2 的一个整数型随机数  t.color('snow')  # 白else:t.color('lightcoral')  # 淡珊瑚色t.pensize(branch / 3)   # 括号内填整数表示画笔宽度单位为像素(px)elif branch < 8:if random.randint(0, 1) == 0:t.color('snow')else:t.color('lightcoral')  # 淡珊瑚色t.pensize(branch / 2)else:t.color('sienna')  # 赭(zhě)色t.pensize(branch / 10)  # 6t.forward(branch)  # 让画笔向前移动branch像素单位(px)a = 1.5 * random.random()  # 产生 0 到 1 之间的随机浮点数t.right(20 * a)  # 顺时针移动 20 * a °度b = 1.5 * random.random()Tree(branch - 10 * b, t)t.left(40 * a)  # 逆时针移动 40 * a ° 度Tree(branch - 10 * b, t)t.right(20 * a)t.up()t.backward(branch)  # 沿着当前相反方向后退指定距离t.down()以上代码实现的是随机树干以及花瓣颜色、树叶的颜色填充,同时还调整了花瓣大小和树干粗细。使整个树干看起来更协调。

2.掉落的花瓣

示例图:

代码如下所示:# 画掉落的花瓣(m,t)
def Petal(m, t):for i in range(m):a = 200 - 400 * random.random()b = 10 - 20 * random.random()t.up()t.forward(b)  # 沿着当前方向前进指定距离t.left(90)t.forward(a)t.down()t.color('lightcoral')  # 淡珊瑚色  t.circle(1)  # 绘制一个指定半径r和角度e的圆或弧形t.up()t.backward(a)t.right(90)t.backward(b)

3.鲜花配文字

配字,显得更有诗意。
示例图:

代码如下:def des_word():t.color('LightCoral') # 字体颜色设置t.hideturtle()#  t.goto(-50, -130)t.goto(-60,-170)t.pu()t.write('姹紫嫣红桃花笺,',move=False, align='center', font=('Arial', 20, 'normal'))t.pd()t.pu()#  t.goto(90, 130)t.goto(150,-170)t.write('繁花似锦为君妍', move=False, align='center', font=('Arial', 20, 'normal'))t.pd()

4.画笔样式调整

代码如下:# 绘图区域
t = T.Turtle()  # 模块
# 画布大小
w = T.Screen()  # 屏幕turtle.setup(600,600)  也可以怎么写,定义画布大小
t.hideturtle()  # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat')  # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()  # 画完不退出
t.color('sienna')

最终代码:


import turtle as T
import random
import time# 画樱花的躯干(60,t)
def Tree(branch, t):time.sleep(0.0005)if branch > 3:if 8 <= branch <= 12:if random.randint(0, 2) == 0:t.color('snow')  # 白else:t.color('lightcoral')  # 淡珊瑚色t.pensize(branch / 3)elif branch < 8:if random.randint(0, 1) == 0:t.color('snow')else:t.color('lightcoral')  # 淡珊瑚色t.pensize(branch / 2)else:t.color('sienna')  # 赭(zhě)色t.pensize(branch / 10)  # 6t.forward(branch)a = 1.5 * random.random()t.right(20 * a)b = 1.5 * random.random()Tree(branch - 10 * b, t)t.left(40 * a)Tree(branch - 10 * b, t)t.right(20 * a)t.up()t.backward(branch)t.down()# 掉落的花瓣
def Petal(m, t):for i in range(m):a = 200 - 400 * random.random()b = 10 - 20 * random.random()t.up()t.forward(b)t.left(90)t.forward(a)t.down()t.color('lightcoral')  # 淡珊瑚色t.circle(1)t.up()t.backward(a)t.right(90)t.backward(b)def des_word():t.color('LightCoral') # 字体颜色设置t.hideturtle()#  t.goto(-50, -130)t.goto(-60,-200)t.pu()t.write('姹紫嫣红桃花笺,',move=False, align='center', font=('Arial', 20, 'normal'))t.pd()t.pu()#  t.goto(90, 130)t.goto(150,-200)t.write('繁花似锦为君妍', move=False, align='center', font=('Arial', 20, 'normal'))t.pd()# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
t.hideturtle()  # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat')  # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')# 画樱花的躯干
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
# 文字
des_word()
w.exitonclick()

最终示例图:

至此,清风徐来,繁花已开! 以上内容全部是抄的,但是知识是自己的。

Python小技 繁花盛开相关推荐

  1. Python 小技之繁花曲线

    Python 小技之繁花曲线 前几天逛朋友圈的时候,无意间刷到同学这样一条内容: 不知道大家有没有眼熟的感觉,反正是勾起了我不少回忆. 这种叫做"万花尺"的小玩意儿小时候应该不少人 ...

  2. Python 小技之实现的鲜花盛宴,你准备好了吗?

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:派森酱 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...

  3. Python 小技之繁花盛开

    今天请各位读者朋友欣赏用 Python 实现的鲜花盛宴,你准备好了吗?90 行代码即可实现一棵美丽的鲜花盛开树.小编也是鲜花爱护协会者之一,但是想要看到美丽的花朵,得历经很多:对于知识的运用也是如此, ...

  4. Python小技 不到100行代码制作各种证件照

    生活中经常需要使用各种版本的电子版证件照,如:红底.蓝底.白底.一寸.两寸等等. 在 Python 中替换图片背景色可以用 Image 模块, 利用 Image 模块可以改变图片大小.背景色等操作. ...

  5. 繁花盛开的夏天读后感

    繁花盛开的夏天读后感 作者:烟罗 方柯和南玄"从校服到婚纱"的纯美爱恋故事.一个是黑暗里开出的洁白小花,一个是黑暗里隐隐燃烧的沉默邪火.在开满紫色鼠尾草与白色桔梗花的夏栖镇,他们隐 ...

  6. Python炫技操作:花式导包的八种方法

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 五岳寻仙不辞远,一身好入名山游. ...

  7. python3经典小程序代码_一个可以套路别人的python小程序实例代码

    python可以开发什么?谁有python小程序的源代码,...桌面程序,web都可以,还有比如现在讲的多的人工智能,神经网络源码可以去找一些开源代码,搜索一下,蛮多的. 分享python小程序代码练 ...

  8. 很多人不知道的Python 炫技操作:海象运算符的三种用法

    Python 炫技操作--海象运算符的三种用法 1. 第一个用法:if/else 2. 第二个用法:while 3. 第三个用法:推导式 Python 版本发展非常快,如今最新的版本已经是 Pyhto ...

  9. 收藏喜+1!值得使用的100个Python小技巧

    目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习.Web开发.脚本编写.自动化等 ...

最新文章

  1. 通过踩坑带你读透虚拟机的“锁粗化”
  2. java如何实现乌龟爬行_乌龟是怎样爬行的
  3. C Primer+Plus(十七)高级数据表示 编程练习(二)
  4. php读取ds18b20,DS18B20_单总线协议
  5. 7-60 二分查找法之过程 (10 分)
  6. mysql 增量备份_MySQL增量备份与恢复(增量备份概述、特点,断点恢复实操)
  7. 玩转Android---事件监听篇---第2篇
  8. AI 专利之争:小米超华为,国家电网才是大 Boss?
  9. 苹果发布2019年上半年透明度报告,收到数万条政府请求
  10. cmd 生成wsdl文件_Spring Boot SOAP系列之WSDL是什么“Lese”
  11. 2017IMO第五题
  12. 在Java语言的if语句是什么表达式,if语句中的条件表达式中只能使用
  13. 为任意屏幕尺寸构建 Android 界面
  14. Windows 查看已保存wifi密码
  15. resure挽救笔记本系统和一些相关的操作记录
  16. Hi3559A 开发环境搭建
  17. 编译安装baas平台-cello-h3c
  18. python小游戏大合集(有注释,持续更新)
  19. Python构建简单线性回归模型教程
  20. A Novel Task Allocation for Maximizing Reliability Considering Fault-Tolerant in VANET ... 学习笔记

热门文章

  1. html图片倾斜滚动效果
  2. imageloader加载到sd卡
  3. 阻碍你前程发展的,不一定是能力,有可能是这个
  4. 计网_课堂与复习笔记:第三章数据链路层
  5. 痞子衡嵌入式:轻松为i.MXRT设计更新Segger J-Link Flash下载算法文件
  6. Hbase中的列族ColumnFamily是什么?
  7. 用java实现对身体质量指数的衡量
  8. 个人掌上游戏机diy——之二,组合
  9. 狂神说SpringMVC笔记(全网最全)
  10. 随机森林分析金融数据