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 正则表达式操作指南
May 04 Python
python自动格式化json文件的方法
Mar 11 Python
python回溯法实现数组全排列输出实例分析
Mar 17 Python
python安装教程 Pycharm安装详细教程
May 02 Python
python2.7到3.x迁移指南
Feb 01 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
Python numpy数组转置与轴变换
Nov 15 Python
Python基于time模块表示时间常用方法
Jun 18 Python
一文解决django 2.2与mysql兼容性问题
Jul 15 Python
Python如何操作docker redis过程解析
Aug 10 Python
使用gunicorn部署django项目的问题
Dec 30 Python
python实现简单反弹球游戏
Apr 12 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 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
vue实现评论列表功能
2019/10/25 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
Python 26进制计算实现方法
2015/05/28 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
优秀团干部个人事迹
2014/05/29 职场文书
真诚的求职信
2014/07/04 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
淘宝好评语句大全
2014/12/31 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
参加招聘会后的感想
2015/08/10 职场文书
工程主管竞聘书
2015/09/15 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
pytorch fine-tune 预训练的模型操作
2021/06/03 Python