使用递归意图用乌龟绘制这个:
但我真的很擅长这个。这就是我得到的:
这是代码: https://gyazo.com/24cebddbb111506fd6959bb91dadb481
yield
几乎只是为了编辑draw_shape()函数。我在第2级正确,但其余的级别开始变得不稳定并且绘制错误的大小我处于错误的位置并且我认为这是因为我的指针放在我被绘制之后的位置。任何帮助将不胜感激。
答案 0 :(得分:2)
我现在看到你的代码存在两个问题。
首先,代码的下半部分在完成后不会将乌龟放回中心点。这就是为什么较小的比特被绘制在各种随机位置的原因,因为之前的调用使得乌龟在某处奇怪。
第二个问题是您在开始时正在使用递归调用。这不是必要的,因为无论如何你将会在normalize-space(//table//br/following::text()[1])
形状后移动。
我建议您制作基本案例I
。这不需要你做任何事情(你可以立即level < 1
)。这会取代您的整个return
块(您需要保留的if level == 1
除外)。
t.down()
你可以通过拿起笔并从I的一端跳到另一端(例如从左下到左上)而不是在中间条上画一段额外的时间来略微简化这一点。我保留了大部分代码,以便更清楚地进行必要的更改(而不仅仅是更好)。