Python 3.x Python 3.6.2中的跟踪程序(错误)错误

Python 3.x Python 3.6.2中的跟踪程序(错误)错误,python-3.x,graphics,turtle-graphics,Python 3.x,Graphics,Turtle Graphics,我正在尝试使用海龟库递归地绘制分形。我有一个函数Koch(步长,度),它接受步长和度;在函数内部,它使用Koch(步骤/3,阶数-1)调用自己,以递归方式构建分形边 当我启用动画时,一切都很好,但是当我尝试切换tracer(False)以加速更高级别的图形时,最后似乎跳过了动画的一部分 以下是启用动画后的3阶曲线: 这是相同的曲线,但带有tracer(False): 无论分形的程度如何,这个问题依然存在。以下是5阶曲线的输出: 我做错什么了吗?我正在尝试为动画创建一组帧,因此我需要它们以

我正在尝试使用海龟库递归地绘制分形。我有一个函数
Koch(步长,度)
,它接受步长和度;在函数内部,它使用
Koch(步骤/3,阶数-1)
调用自己,以递归方式构建分形边

当我启用动画时,一切都很好,但是当我尝试切换
tracer(False)
以加速更高级别的图形时,最后似乎跳过了动画的一部分

以下是启用动画后的3阶曲线:

这是相同的曲线,但带有
tracer(False)

无论分形的程度如何,这个问题依然存在。以下是5阶曲线的输出:


我做错什么了吗?我正在尝试为动画创建一组帧,因此我需要它们以尽可能快的速度绘制,否则我将永远无法完成该项目。

至少有几种方法可以解决此问题。一种是在绘图结束时将tracer()重置为原始值。即
跟踪器(1)
。(正如您所发现的,为了简化工作,您可以使用
tracer(False)
隐藏图形,并使用
tracer(True)
将其重新打开。)

另一种方法是在图形末尾调用
update()
。两者都应强制执行最终绘图步骤

因为您没有提供任何代码,所以使用中的koch snowflake示例模拟您的问题。不打开
tracer()
也不调用
update()

现在只需稍微更改结尾:

# Three Koch curves
for _ in range(3):
    koch(size, order)
    right(120)

# Make the last parts appear
update()

mainloop()

请考虑添加代码示例,或修改您在本问题中所发布的代码示例。目前,它的格式和范围使我们很难帮助您;这是一个让你开始学习的方法。祝你的代码好运!对不起,我没有包含任何代码片段;我对编程还是新手,尤其是堆栈溢出。似乎有人能帮我解决我的问题。对不起,我花了这么长时间才回到这个问题上来;我因其他工作而陷入困境。这个
update()
技巧正是我所需要的。它甚至还解决了我在使用
hideturtle()
时遇到的一些问题。非常感谢你!
# Three Koch curves
for _ in range(3):
    koch(size, order)
    right(120)

# Make the last parts appear
update()

mainloop()