前两课一个函数又会算又会画,其实混在一起了。
今天把它们拆开:一个函数只干一件事。
grow(k) 只负责算出长度,draw(size, angle) 只负责画一段。def grow(): return n * 2 看起来也能跑,但它依赖外面的 n——
主程序一改 n,函数的行为跟着变,你在函数里根本看不出来它用了 n。盯住 def grow(): 的括号:空的。它没有参数,
用的是外面的 n。
看函数调用 grow(),你根本猜不出它要什么。
draw(grow(i), 90) = 先算长度,再按它画。def grow(k): return 20 * k;def draw(size, angle): forward(size); left(angle);
主程序 for i in range(1,5): draw(grow(i), 90)。grow 里的 20 改成 30,其余一个字不动。return 20 * k 改成 return 30 * k。