【发布时间】:2018-10-22 14:27:50
【问题描述】:
我有一个使用 python turtle 模块绘制分形的递归函数:
def fract(t, order, size):
if order == 0:
t.forward(size)
else:
for angle in (60, -120, 60, 0):
fract(t, order - 1, size / 3)
t.left(angle)
我有另一个函数调用第一个函数并修改最后一个角度,以便分形构建一个圆
def circle(t, order, size):
for i in range(order):
fract(t, 2, size)
t.right(360 / order)
circle(t, 4, 300)
虽然这按预期工作,但真正的目标是在单个递归函数中获得相同的结果。
显然,这不是一个真正的编程案例,而是 Python 初学者书籍中的一项任务,我完全被困住了。我想这个问题的尴尬标题反映了我对这个问题缺乏理解。
【问题讨论】:
-
首先您可以更新问题以整理缩进。其次,您能解释一下
snowflake(...)是什么吗?看起来像函数调用,但没有定义。 -
Upps,谢谢,完成
-
好的,这目前不是递归的。您的意思是让
fract()函数调用自身吗?它目前正在调用koch_loop(),其参数看起来像是可以调用自己。 -
sigh ...提醒自己:不要在尚未完全清醒时发布问题
标签: python recursion turtle-graphics fractals