用python画树_Python+Turtle动态绘制一棵树实例分享

本文实例主要是对turtle的使用,实现Python+turtle动态绘制一棵树的实例,具体代码:

# drawtree.py

from turtle import Turtle, mainloop

def tree(plist, l, a, f):

""" plist is list of pens

l is length of branch

a is half of the angle between 2 branches

f is factor by which branch is shortened

from level to level."""

if l > 5: #

lst = []

for p in plist:

p.forward(l)#沿着当前的方向画画Move the turtle forward by the specified distance, in the direction the turtle is headed.

q = p.clone()#Create and return a clone of the turtle with same position, heading and turtle properties.

p.left(a) #Turn turtle left by angle units

q.right(a)# turn turtle right by angle units, nits are by default degrees, but can be set via the degrees() and radians() functions.

lst.append(p)#将元素增加到列表的最后

lst.append(q)

tree(lst, l*f, a, f)

def main():

p = Turtle()

p.color("green")

p.pensize(5)

#p.setundobuffer(None)

p.hideturtle() #Make the turtle invisible. It's a good idea to do this while you're in the middle of doing some complex drawing,

#because hiding the turtle speeds up the drawing observably.

#p.speed(10)

# p.getscreen().tracer(1,0)#Return the TurtleScreen object the turtle is drawing on.

p.speed(10)

#TurtleScreen methods can then be called for that object.

p.left(90)# Turn turtle left by angle units. direction 调整画笔

p.penup() #Pull the pen up – no drawing when moving.

p.goto(0,-200)#Move turtle to an absolute position. If the pen is down, draw line. Do not change the turtle's orientation.

p.pendown()# Pull the pen down – drawing when moving. 这三条语句是一个组合相当于先把笔收起来再移动到指定位置,再把笔放下开始画

#否则turtle一移动就会自动的把线画出来

#t = tree([p], 200, 65, 0.6375)

t = tree([p], 200, 65, 0.6375)

main()

实现效果:

blank.gif

总结

以上就是本文关于Python+Turtle动态绘制一棵树实例分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

Python利用turtle库绘制彩虹代码示例

Python使用Turtle模块绘制五星红旗代码示例

Python内置模块turtle绘图详解

Python中turtle作图示例

使用Python的turtle模块画图的方法

python 简单的绘图工具turtle使用详解

时间: 2018-01-13

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[ASP.NET2.0] asp.net在ie7中使用FileUpload上传前预览图片 [ZT]

asp.net在ie7中使用FileUpload上传前预览图片 因为安全性问题&#xff0c;IE7禁用了image控件引用本地图片&#xff0c;为了这个问题郁闷了好几天&#xff0c;终于找到了解决方案&#xff0c;好东西要与大家分享&#xff0c;代码如下&#xff1a;此段代码放于<head> ....…

360浏览器5兼容模式吗_个独模式真能将企业总体税负降低至5%吗,为何大家都热衷核定征收...

个独模式真的能将企业总体税负降低至5%吗&#xff0c;为何大家都热衷选择申请核定征收企业性质不同&#xff0c;结构不同&#xff0c;体量不同&#xff0c;业务模式不同&#xff0c;自然纳税方式和税负也有差别。不同的纳税对象应该采取不同的节税方式&#xff0c;用合理合法的…

python3 for循环_从零开始学习PYTHON3讲义(六)for循环跟斐波那契数列

《从零开始PYTHON3》第六讲 几乎但凡接触过一点编程的人都知道for循环&#xff0c;在大多数语言的学习中&#xff0c;这也是第一个要学习的循环模式。 但是在Python中&#xff0c;我们把for循环放到了while循环的后面。原因是&#xff0c;Python中的for循环已经完全不是你知道的…

Yahoo Mail,慢功出细活〔转载〕

Yahoo Mail&#xff0c;慢功出细活2007年08月31日13:59 原文链接&#xff1a;http://chinese.wsj.com/gb/20070831/ptk141709.asp?sourcechannel用两年时间测试一款软件可真算费功夫&#xff0c;但雅虎公司(Yahoo! Inc.)开发完成新版本的电子邮箱软件Yahoo Mail就花了这么长…

浅谈如何理解领域驱动设计

本文作者为长沙.NET社区开发者微笑刺客&#xff0c;转载已获得作者授权。前言什么是领域&#xff0c;我习惯描述的是制药领域、环境领域、建筑领域、金融领域等&#xff0c;而在领域内&#xff0c;各种业务规则、业务知识盛行&#xff0c;如何有效的把控规则的变化&#xff0c;…

lol战绩查询接口_LOL:莫名其妙被封号?3把躺赢局被说是代打

Hello&#xff0c;大家好&#xff0c;这里是小皮说电竞&#xff0c;每天都会为大家带来LOL有趣的资讯&#xff0c;喜欢的话记得点个关注哦~英雄联盟已经发展至S10了&#xff0c;这么久以来&#xff0c;许多小伙伴都碰到过一个问题&#xff0c;那就是封号。封号的原因有很多&…

apk源码查看工具_如何查看Linux命令工具的源码?

点击上方「嵌入式大杂烩」&#xff0c;「星标公众号」第一时间查看精彩文章&#xff01;上一篇分享了两个使用的小工具&#xff1a;《如何同时输出调试信息到终端及文件&#xff1f;》。有位小伙伴留言问道tee工具的代码在哪&#xff1a;这篇文章我们就来简单分享一下。首先&am…

final类是否可以被代理_浅谈Java【代理设计模式】——看这篇文章就懂了

什么是代理模式为其他对象提供一种代理以控制对这个对象的访问。为什么使用代理模式中介隔离&#xff1a;在某些情况下&#xff0c;一个客户类不想或者不能直接引用一个委托对象&#xff0c;而代理类对象可以在客户类和委托对象之间起到中介的作用&#xff0c;其特征是代理类和…

《The C++ Standard Library》第50页 关于传递auto_ptr的问题

第50页最后一段话: 我怎么没记得在第43页里说不能传递auto_ptr. 可是我在第43页没有找到”不要用任何方式来传递auto_ptr”类似的语句啊。 而且里面讲的是source和sink,说的就是该如何传递auto_ptr和转移auto_ptr的ownership啊。 倒是在第44页中找到了这样的话&#xff1a; 第4…

在.NET Core 中使用Quartz.NET

Quartz.NET是功能齐全的开源作业调度系统&#xff0c;可用于最小的应用程序到大型企业系统。Quartz.NET具有三个主要概念&#xff1a;•job&#xff1a;运行的后台任务•trigger&#xff1a;控制后台任务运行的触发器。•scheduler&#xff1a;协调job和triggerASP.NET Core通过…

EntityFramework Core如何映射动态模型?

【导读】本文我们来探讨下映射动态模型的几种方式&#xff0c;相信一部分童鞋项目有这样的需求&#xff0c;比如每天/每小时等生成一张表&#xff0c;此种动态模型映射非常常见&#xff0c;经我摸索&#xff0c;这里给出每一步详细思路&#xff0c;希望能帮助到没有任何头绪的童…

构建深度学习模型:原理与实践

构建深度学习模型&#xff1a;原理与实践 引言 随着人工智能技术的飞速发展&#xff0c;深度学习已经成为当今最为炙手可热的研究领域之一。深度学习通过模拟人脑神经网络的工作原理&#xff0c;使得计算机能够具备更强大的学习和识别能力。本文将深入探讨深度学习的基本原理…

petshop4.0 详解之五(PetShop之业务逻辑层设计)[转]

业务逻辑层&#xff08;Business Logic Layer&#xff09;无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计&#xff0c;也即是说它是与系统所应对的领域&#xff08;Domain&#xff09;逻辑有关&#xff0…

自建比赛服务器,《三国杀》怎么自己创建比赛?自建赛事规则介绍

你知道在三国杀怎么自己创建比赛吗&#xff1f;游戏真的有这个功能吗&#xff1f;下面就让我们一起来看看三国杀自建赛事规则介绍吧。三国杀在2.113版本更新中新增了赛事大厅功能&#xff0c;该玩法支持玩家自建比赛&#xff0c;可以建立"私密赛"和“公开赛”两种比赛…

地线与接地螺丝_电气接地规范与接地的各项参数

点击上方↑「老王和你聊电气」关注我吧电气接地规范1、适用范围&#xff1a;本规范规定了生产经营单位用电系统、新建扩建、检维修、改造、办公区域、员工宿舍等电气线路接地规定。2、术语和定义&#xff1a;电气系统配置保护方法有&#xff1a;保护接地、保护接零、重复接地、…

如何在 Blazor WebAssembly中 使用 功能开关

微软Azure 团队开发的 功能管理 (Feature Management) 包 Microsoft.FeatureManagement可用于实现 功能开关&#xff0c;可以通过功能开关特性动态的改变应用程序的行为而不需要改变任何的业务逻辑代码。关于功能开关的更多功能请看Edi Wang的B站视频&#xff0c;长按小程序码进…

jbl css-h15,JBL CSS8006BM 天花音箱

原标题&#xff1a;JBL CSS8006BM 天花音箱JBL CSS8006BM 天花音箱JBL Commercial CSS-8006BM吸顶扬声器为寻呼和背景音乐应用提供了出色的性能。即使在低敲击设置下&#xff0c;高灵敏度也能提供最大音量。产品特性/ PRODUCT FEATURES价格实惠&#xff0c;高品质的双锥天花扬声…

窗宽窗位改变图像_CT、MRI图像的影像诊断4大原则、5个步骤、3大阅片方法

来源:互联网第一节 影像诊断原则与步骤医学影像诊断包括&#xff38;线、CT、MRI、超声等&#xff0c;是重要的临床诊断方法之一。为了达到正确诊断&#xff0c;必须遵循一定的诊断原则和步骤&#xff0c;才能全面、客观地作出结论。一、影像诊断原则一般应掌握16字原则&#x…

EFCore 5 新特性 Savepoints

EFCore 5 中的 SavepointsIntroEFCore 5中引入了一个新特性&#xff0c;叫做 Savepoints&#xff0c;主要是事务中使用&#xff0c;个人感觉有点类似于 Windows 上的系统还原点&#xff0c;如果事务发生了异常&#xff0c;可以回滚到某一个还原点。Savepoints当我们在一个事务里…

KBuilderTools小灰熊歌词制作

KBuilderTools小灰熊歌词制作<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />——实战KbuilderTools利用KbuilderTools您可以自己制作卡拉OK字幕描述脚本&#xff0c;这样&#xff0c;您可以利用现成的音乐资源&#xff0c;随心…