我有一个使用Turtle with Python的快速问题。我希望最终的绘图看起来像这样:http://i.stack.imgur.com/IFw5G.jpg
但是我的代码只做了其中的一部分,我无法理解我的生活。这是一个家庭作业,所以请不要为我做,请引导我朝着正确的方向,因为我无法弄清楚我做错了什么。究竟我无法弄清楚的是如何让它重现图像左侧的方块,因为它只在右侧。
这是我的代码:
from turtle import *
differentColors = ['green', 'blue']
def jester(N, L):
if N <=0:
pass
else:
pencolor(differentColors[N % len(colors)])
forward(L/2)
left(90)
forward(L)
left(90)
forward(L)
left(90)
forward(L)
left(90)
forward(L/2)
forward(L/2)
left(90)
forward(L)
right(150)
jester(N-1, L/2)
jester(4, 100)
谢谢你!
答案 0 :(得分:0)
您可能会发现调试器的使用很有帮助。将代码运行为
import pdb
from turtle import *
differentColors = ['green', 'blue']
def jester(N, L):
...
pdb.run('jester(4, 10)')
首先输入s
到进入该功能,然后在下一步中键入n
,逐个执行每一行,如果您需要当你到达jester
类型s
时,进入递归调用h
类型c
。这应该可以帮助您查看代码出错的位置。由于您的代码非常重复(几乎总是有龟的东西),您可能需要添加一些打印语句来说明代码的每个部分应该做什么(比如绘制正方形的顶部或进入位置)对于递归调用)。
可以找到有关python调试器的其他命令和更多信息here。摘要u
表示求助,{{1}}表示继续,{{1}}表示完成当前函数调用并返回上一个函数。您还可以通过键入名称来查看变量的值。