python实现画一颗树和一片森林


Posted in Python onJune 25, 2018

本文实例为大家分享了python画一颗树和一片森林的具体代码,供大家参考,具体内容如下

实现效果

python实现画一颗树和一片森林

代码在这里

from turtle import Turtle

def tree(plist, l, a, f):
  """
  :param plist:画笔列表,指数型增加
  :param l: 画笔的长度,同时也是递归终止条件,注意下面的引用中是字母l,不是数字1
  :param a: 分开的两个树杈之间夹角的一半,固定值65°
  :param f: 子树与父树的比值
  :return: 返回一个基本的Y型的树
  """
  if l>5:
    lst = []
    for p in plist:
      p.forward(l)
      q = p.clone()
      p.left(a)
      q.right(a)
      lst.append(p)
      lst.append(q)
    tree(lst,l*f,a,f)

def maketree(x,y):
  """

  :param x: 树起点的横坐标
  :param y: 树起点的纵坐标
  :return: 返回一颗树
  """
  p = Turtle()
  p.color("green")
  p.pensize(5)
  p.hideturtle() # 隐藏那只小乌龟

  p.getscreen().tracer(30,0)# 获得屏幕句柄,可以对其进行操作,每30次操作将屏幕刷新,延时为0
  p.speed(10)
  p.left(90)

  p.penup()
  p.goto(x, y)
  p.pendown() # 此三句向来组合使用,意思为起笔,移动,落笔之意

  t = tree([p],200,65,0.6375)
  print(len(p.getscreen().turtles()))  #一共用了多少笔划
def main():
  """
  主函数,赋树的起点坐标
  """
  maketree(0,0)
  maketree(-200,-200)
  maketree(200,-200)

main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python根据经纬度计算距离示例
Feb 16 Python
python中查看变量内存地址的方法
May 05 Python
Python探索之ModelForm代码详解
Oct 26 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
Python如何发布程序的详细教程
Oct 09 Python
Python语言进阶知识点总结
May 28 Python
在python里面运用多继承方法详解
Jul 01 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
python实例化对象的具体方法
Jun 17 Python
Django怎么在admin后台注册数据库表
Nov 14 Python
完美解决在oj中Python的循环输入问题
Jun 25 #Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 #Python
python使用turtle库绘制树
Jun 25 #Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 #Python
python库lxml在linux和WIN系统下的安装
Jun 24 #Python
Python3中详解fabfile的编写
Jun 24 #Python
关于python写入文件自动换行的问题
Jun 23 #Python
You might like
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
Python实现简单字典树的方法
2016/04/29 Python
matplotlib中legend位置调整解析
2017/12/19 Python
flask中过滤器的使用详解
2018/08/01 Python
Python 转换文本编码实现解析
2019/08/27 Python
PyTorch实现AlexNet示例
2020/01/14 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
2020/04/10 Python
Python实现区域填充的示例代码
2021/02/03 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
餐厅楼面部长岗位职责范文
2014/02/16 职场文书
邓小平理论心得体会
2014/09/09 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server