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 相关文章推荐
在Python3中初学者应会的一些基本的提升效率的小技巧
Mar 31 Python
详解Python中内置的NotImplemented类型的用法
Mar 31 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
python利用百度AI实现文字识别功能
Nov 27 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
bluepy 一款python封装的BLE利器简单介绍
Jun 25 Python
基于python判断目录或者文件代码实例
Nov 29 Python
基于python实现计算且附带进度条代码实例
Mar 31 Python
Python configparser模块常用方法解析
May 22 Python
手把手教你怎么用Python实现zip文件密码的破解
May 27 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 INI配置文件的解析实现分析
2011/01/04 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
获取body标签的两种方法
2011/10/13 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
python 远程统计文件代码分享
2015/05/14 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
如何真正的了解python装饰器
2020/08/14 Python
如何完美的建立一个python项目
2020/10/09 Python
详解python的变量缓存机制
2021/01/24 Python
职工运动会邀请函
2014/01/19 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
维稳工作承诺书
2015/01/20 职场文书
年度考核表个人总结
2015/03/06 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
培训班通知
2015/04/25 职场文书
2016年春节问候语
2015/11/11 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers