python實(shí)現(xiàn)畫一顆樹和一片森林
本文實(shí)例為大家分享了python畫一顆樹和一片森林的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)效果

代碼在這里
from turtle import Turtle
def tree(plist, l, a, f):
"""
:param plist:畫筆列表,指數(shù)型增加
:param l: 畫筆的長度,同時(shí)也是遞歸終止條件,注意下面的引用中是字母l,不是數(shù)字1
:param a: 分開的兩個(gè)樹杈之間夾角的一半,固定值65°
:param f: 子樹與父樹的比值
:return: 返回一個(gè)基本的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: 樹起點(diǎn)的橫坐標(biāo)
:param y: 樹起點(diǎn)的縱坐標(biāo)
:return: 返回一顆樹
"""
p = Turtle()
p.color("green")
p.pensize(5)
p.hideturtle() # 隱藏那只小烏龜
p.getscreen().tracer(30,0)# 獲得屏幕句柄,可以對(duì)其進(jìn)行操作,每30次操作將屏幕刷新,延時(shí)為0
p.speed(10)
p.left(90)
p.penup()
p.goto(x, y)
p.pendown() # 此三句向來組合使用,意思為起筆,移動(dòng),落筆之意
t = tree([p],200,65,0.6375)
print(len(p.getscreen().turtles())) #一共用了多少筆劃
def main():
"""
主函數(shù),賦樹的起點(diǎn)坐標(biāo)
"""
maketree(0,0)
maketree(-200,-200)
maketree(200,-200)
main()
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中enumerate()函數(shù)詳細(xì)分析(附多個(gè)Demo)
Python的enumerate()函數(shù)是一個(gè)內(nèi)置函數(shù),主要用于在遍歷循環(huán)中獲取每個(gè)元素的索引以及對(duì)應(yīng)的值,這篇文章主要介紹了Python中enumerate()函數(shù)的相關(guān)資料,需要的朋友可以參考下2024-10-10
django之靜態(tài)文件 django 2.0 在網(wǎng)頁中顯示圖片的例子
今天小編就為大家分享一篇django之靜態(tài)文件 django 2.0 在網(wǎng)頁中顯示圖片的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
如何使用python獲取現(xiàn)在的日期與時(shí)間
學(xué)習(xí)了一段時(shí)間的python,不知道大家對(duì)于代碼的編寫有了屬于自己的一套思路了呢,下面這篇文章主要給大家介紹了關(guān)于如何使用python獲取現(xiàn)在的日期與時(shí)間的相關(guān)資料,需要的朋友可以參考下2022-11-11
matplotlib實(shí)現(xiàn)區(qū)域顏色填充
這篇文章主要為大家詳細(xì)介紹了matplotlib實(shí)現(xiàn)區(qū)域顏色填充,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
python實(shí)現(xiàn)mysql的單引號(hào)字符串過濾方法
這篇文章主要介紹了python實(shí)現(xiàn)mysql的單引號(hào)字符串過濾方法,以一個(gè)較為詳細(xì)的實(shí)例形式分析了Python針對(duì)MySQL的操作及字符串過濾的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
python機(jī)器學(xué)習(xí)邏輯回歸隨機(jī)梯度下降法
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)邏輯回歸隨機(jī)梯度下降法的詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Selenium自動(dòng)化測(cè)試工具使用方法匯總
這篇文章主要介紹了Selenium自動(dòng)化測(cè)試工具使用方法匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

