先欣赏一下效果图:

实现代码如下:

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) # 6

t.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)

# 绘图区域

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)

w.exitonclick()

飘落效果:

from turtle import *

from random import *

from math import *

def tree(n,l):

pd()#下笔

#阴影效果

t = cos(radians(heading()+45))/8+0.25

pencolor(t,t,t)

pensize(n/3)

forward(l)#画树枝

if n>0:

b = random()*15+10 #右分支偏转角度

c = random()*15+10 #左分支偏转角度

d = l*(random()*0.25+0.7) #下一个分支的长度

#右转一定角度,画右分支

right(b)

tree(n-1,d)

#左转一定角度,画左分支

left(b+c)

tree(n-1,d)

#转回来

right(c)

else:

#画叶子

right(90)

n=cos(radians(heading()-45))/4+0.5

pencolor(n,n*0.8,n*0.8)

circle(3)

left(90)

#添加0.3倍的飘落叶子

if(random()>0.7):

pu()

#飘落

t = heading()

an = -40 +random()*40

setheading(an)

dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)

forward(dis)

setheading(t)

#画叶子

pd()

right(90)

n = cos(radians(heading()-45))/4+0.5

pencolor(n*0.5+0.5,0.4+n*0.4,0.4+n*0.4)

circle(2)

left(90)

pu()

#返回

t=heading()

setheading(an)

backward(dis)

setheading(t)

pu()

backward(l)#退回

bgcolor(0.5,0.5,0.5)#背景色

ht()#隐藏turtle

speed(0)#速度 1-10渐进,0 最快

tracer(0,0)

pu()#抬笔

backward(100)

left(90)#左转90度

pu()#抬笔

backward(300)#后退300

tree(12,100)#递归7层

done()

用python画出来的樱花,真是太美了,虽然没有武汉樱花那样搬的生动,但是却用另一种方式画出来,这样的樱花更有意义,自己动手将樱花绽放,令人成就感倍增。

武汉已经搭上了早春列出,希望到了樱花晚期时刻,我们能够一起下车,去樱花大道赏樱,吃遍武汉大街小巷的小吃,历经磨难后的武汉定将涅槃重生,诠释不一样的城市风采。

最后,如果你也想尝试用python画出樱花,或者画玫瑰,又或者想爬取某网站资料,不妨跟随小编一起加入python交流群,跟一群志同道合的朋友谈谈人生理想,如果你想要领取python资源包,赶快来私信小编哦,名额有限,先到先得~

如何用python画一束花_武汉早樱开了!却没有赏樱人群,那就用python画一束最美的樱花...相关推荐

  1. 如何用python画一束花_如何在AI里绘制一束春天的花朵

    What You'll Be Creating 春天正在到来,是的,不管暴风雪如何肆意狂虐.很快,我们将看到第一波花朵盛开.让我们试着在画板上复刻春天之美吧~ 在此教程中,你将会学习如何创建特殊的画笔 ...

  2. python怎么复数乘方开方_【文末包邮送书】运维必须掌握的 Python 宝典:值得每天复习一遍...

    加群交流在后台回复"加群",添加小编微信,小编拉你进去后台回复"724"获取入门资料 前言 本文旨在更好地总结 Python 基础知识,力求简明扼要,以供实战演 ...

  3. 武汉python编程培训机构排名_武汉python教育机构排名榜前十

    虽然在编程语言的热度榜上,还是java排行第一,但是python却是最近2年上升最快的,越来越多人都开始选择实用python了,原因很简单,语法语句简约,开发效率高.以下是小编为你整理的python云 ...

  4. python整形变量赋初值_为了给整型变量x、y、z赋初值10,下面 Python赋值语句正确的是_学小易找答案...

    [单选题]Python语言属于( ). [填空题]在Python中,设有s='a,b,c'.s2=('x','y','z')以及s3=':',则s. rpartition(',')的结果分别 [填空题 ...

  5. python画一束花_用python画一朵玫瑰花,拿去表白趴-Go语言中文社区

    ''' Created on Nov 18, 2017 @author: QiZhao ''' import turtle # 设置初始位置 turtle.penup() turtle.left(90 ...

  6. 怎么python画好几朵玫瑰花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  7. 怎么python画好几朵玫瑰花_用Python画朵玫瑰,只要五分钟

    又到一年母亲节,先祝福所有妈妈节日快乐,哈哈.最近一个项目在用python,想着这次不用java了,用python给妈妈个礼物吧.Turtle库是Python语言中一个非常强大的绘制图像的函数库,她提 ...

  8. 怎么python画好几朵玫瑰花_使用Python画玫瑰花

    '''Created on Nov 18, 2017 @author: QiZhao''' importturtle#设置初始位置 turtle.penup() turtle.left(90) tur ...

  9. python单片机自动浇花_[MicroPython]TPYBoardv102自动浇花系统

    1.系统功能 监测土壤湿度.环境温度.光照强度 根据当前环境自动浇水,寒冷天气自动加热土壤 2.所需元器件 TPYBoard板子1块 光敏模块1块 DS18B20模块1块 土壤湿度检测模块1块 杜邦线 ...

最新文章

  1. NOIP2012 DAY1 T2 国王游戏
  2. mybatis注解开发
  3. matlab批量对图片进行添加椒盐噪声并批量保存到文件夹
  4. HarmonyOS之IDL接口使用规范
  5. ffmpeg-简单AES加解密记录
  6. 视频来了!Visual Studio Online 东半球首秀 @ .NET Conf 2019 中国峰会
  7. MySQL dayname()函数
  8. linux增加调整虚拟内存
  9. Java项目课程02:系统概述
  10. spring自动注入模型
  11. java混淆工具zelix比较_Java逆向基础之混淆器
  12. 用计算机画画的图片,儿童电脑画画大全图片
  13. 域名生成企业邮箱golang企业邮箱发邮件 golang gmail发邮件
  14. vim 怎么显示空格_vi查看空格、制表符等特殊符号
  15. 美光证实:DDR5 内存供应不足与 PMIC 和 VRM 短缺有关,2022 年改善的可能性很小
  16. JAVA的if结构单分支结构简单易懂
  17. MVPArch - Android MVP 快速开发框架
  18. iOS基础_C语言第一讲
  19. CsPb(Cl/Br)3钙钛矿量子点CsPb(Cl/Br)3 QDs发射波长410-515nm
  20. 程序员经典电子书下载(超全)

热门文章

  1. vue_案例_点击div的时候,改变背景色
  2. 潭州教育python培训靠谱吗
  3. Macbook触控板怎么实现轻点代替按压?
  4. 海思Hi3518EV200硬件介绍
  5. StringUtils里面的 isEmpty方法和isBlank方法的区别
  6. Linux全能终端,11个Linux终端命令,总有一个让你惊叹!
  7. Linux下TInbsp;omap芯片nbsp;MUX…
  8. R语言ggplot2可视化:自定义设置X轴上的时间间隔(以日、月、年为单位)
  9. win8计算机无法睡眠,win8电脑无法进入到睡眠状态怎么办?
  10. Databinding之 Cannot access class ‘xxxViewModel‘. Check your module clas