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 15 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
python 基于TCP协议的套接字编程详解
Jun 29 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
Python 2种方法求某个范围内的所有素数(质数)
Jan 31 Python
python析构函数用法及注意事项
Jun 22 Python
Python 数据可视化之Seaborn详解
Nov 02 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中设置时区方法小结
2012/06/03 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
python WindowsError的错误代码详解
2017/07/23 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
医学院校毕业生自荐信范文
2014/01/01 职场文书
高二物理教学反思
2014/02/08 职场文书
爽歪歪广告词
2014/03/20 职场文书
社区节水倡议书
2015/04/29 职场文书
idea下配置tomcat避坑详解
2022/04/12 Servers