[英]Controlling depth of recursion in python function
我有以下代碼:
from turtle import *
speed(0)
def polygon(xangle, steps):
n = 360 // xangle # number of sides required for chosen exterior angle
for i in range(n):
forward(steps)
right(xangle)
def corner_polygons(xangle, steps):
n = 360 // xangle
for i in range(n):
draw_polygon(xangle, steps//5) # draw smaller polygon
forward(steps)
right(xangle)
def double_corner_polygons(xangle, steps):
n = 360 // xangle
for i in range(n):
corner_polygons(xangle, steps//5)
forward(steps)
right(xangle)
第一個函數繪制一個具有指定外角( xangle
)並且邊長等於steps
長的多邊形。 第二個函數繪制與以前相同的多邊形,但是現在在每個角上都放置一個較小的多邊形。 第三個功能更深一層,例如:
double_corner_polygons(60, 150)
給出:
我想添加另一個參數,即recursions
,該recursions
控制着繪圖的深度,因此我不必每次都編寫新函數。 我似乎無法完全正確。 到目前為止我的嘗試:
def corner_polygons_recursive(xangle, steps, recs):
n = 360 // xangle
for i in range(n):
for j in range(1, recs+1):
corner_polygons(xangle, steps//5*j)
forward(steps)
right(xangle)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.