首页 > 编程 > Python > 正文

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

2020-02-15 22:00:57
字体:
来源:转载
供稿:网友

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

实现效果

代码在这里

from turtle import Turtledef 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表