Python是一種功能強大的編程語言,提供了許多開發(fā)工具和庫,其中包括一個圖形庫Tkinter,它可以實現(xiàn)各種圖形界面的開發(fā),而且容易上手。今天我們要介紹的是如何用Python Tkinter畫一棵小樹。
首先,我們需要導(dǎo)入Tkinter庫和繪畫工具Canvas:
from tkinter import *
root = Tk()
canvas = Canvas(root, width=500, height=500)
canvas.pack()
接下來,定義函數(shù)```paint_tree()```來繪制樹。這里我們使用遞歸的方式,分別畫出根節(jié)點和分支,每個節(jié)點分成兩個分支,不斷重復(fù),直到畫完一整顆樹:
def paint_tree(x1, y1, angle, depth):
if depth:
x2 = x1 + int(math.cos(math.radians(angle)) * depth * 10.0)
y2 = y1 + int(math.sin(math.radians(angle)) * depth * 10.0)
canvas.create_line(x1, y1, x2, y2, width=3, fill='brown')
paint_tree(x2, y2, angle - 20, depth - 1)
paint_tree(x2, y2, angle + 20, depth - 1)
最后,我們在主函數(shù)中調(diào)用```paint_tree()```函數(shù),傳入起始點坐標、角度和深度參數(shù):
if __name__ == '__main__':
paint_tree(250, 400, -90, 9)
root.mainloop()
這里我們畫了一棵最深度為9的小樹,結(jié)果如下:
![](https://i.imgur.com/rbzIBul.png)通過這個例子,我們學(xué)會了用Python Tkinter庫繪制圖形界面,以及使用遞歸算法畫出小樹。如果你對Python感興趣,可以嘗試寫一些有趣的小程序。