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运用于数据分析的简单教程
Mar 27 Python
python友情链接检查方法
Jul 08 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
python删除字符串中指定字符的方法
Aug 13 Python
python中partial()基础用法说明
Dec 30 Python
pandas删除指定行详解
Apr 04 Python
python matplotlib库直方图绘制详解
Aug 10 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
Python生成器实现简单"生产者消费者"模型代码实例
Mar 27 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
python 用Matplotlib作图中有多个Y轴
Nov 28 Python
anaconda升级sklearn版本的实现方法
Feb 22 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
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
JQuery与iframe交互实现代码
2009/12/24 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
Python实现网站注册验证码生成类
2017/06/08 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
Python之指数与E记法的区别详解
2019/11/21 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
python的Jenkins接口调用方式
2020/05/12 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
大学优秀班集体申报材料
2014/05/23 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
春季运动会开幕词
2015/01/28 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
MySQL窗口函数的具体使用
2021/11/17 MySQL