[英]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.