欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python畫遞歸圖rp

陳思宇1年前6瀏覽0評論

Python有著強大的遞歸功能,可以通過遞歸來實現許多復雜的算法。在Python中,我們可以使用遞歸函數來畫遞歸圖rp。

def rp(x, y, w, h, t):
if(w< 1 or h< 1):
return
else:
# 畫正方形
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
for i in range(4):
turtle.forward(w)
turtle.left(90)
# 右下方正方形
rp(x + w, y - h, w//2, h//2, t*2)
# 左下方正方形
rp(x - w, y - h, w//2, h//2, t*2)
# 右上方正方形
rp(x + w, y + h, w//2, h//2, t*2)
# 左上方正方形
rp(x - w, y + h, w//2, h//2, t*2)
# 初始化海龜畫筆
turtle.penup()
turtle.goto(-150,150)
turtle.pendown()
# 畫八個正方形
rp(-150, 150, 300, 300, 1)
# 隱藏海龜
turtle.hideturtle()
# 等待窗口關閉
turtle.done()

在以上代碼中,我們定義了一個名為rp的函數,接受五個參數:x、y、w、h和t。x和y是起始點的位置,w和h是正方形的寬和高,t是控制正方形大小和數量的參數。

在函數內部,我們首先畫出一個正方形,然后在正方形的四個方向上遞歸調用rp函數。調用時,我們將正方形的長度和寬度都除以2并將其賦值給w和h,將t的值乘以2。這是為了控制每個正方形的大小和數量。

在主函數中,我們使用turtle框架的函數初始化畫筆,并畫出第一個正方形。最后,我們等待窗口關閉以保證圖片顯示。

通過這個遞歸函數,我們可以得到一個由八個相同的正方形組成的遞歸圖rp。這個遞歸圖的美妙之處在于,每個正方形都是由四個更小的正方形組成的,形成了一個不斷遞歸的過程。