本节书摘来自异步社区《教孩子学编程(Python语言版)》一书中的第2章,第2.2节,作者[美]Bryson Payne,李军 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.2 旋转的海龟
让我们看看当修改了程序中某一个数值的时候,会发生什么?学习和程序相关的新知识的一种方法是,当我们修改其某一个部分的时候,看看发生了什么。我们不会总是得到一个很好的结果,但是,即使是某些地方出错的时候,我们也能学到东西。
我们只是将程序的最后一行修改为t.left(91),将其保存为SquareSpiral2.py。
SquareSpiral2.py
import turtle
t = turtle.Pen()
for x in range(100):
t.forward(x)
t.left(91)
我们提到了向左转90°会创建一个完美的正方形。每次向左转的比90°多一点点的话(在这个例子中,是91°),会将正方形略微向外抛出一点点。由于我们进行下一次旋转的时候,已经偏离了一点点,随着程序继续进行,新的图形越来越不像是一个正方形。实际上,它创建了一个开始向左旋转的、漂亮的螺旋形,就像是楼梯一样,如图2-2所示。
这也是一个漂亮的图形,可以帮助我们理解如何只略微修改一个数字,就显著地改变程序的结果。1°似乎并不是一个很大的偏差,除非我们偏离1° 100次(这加起来就是100°),或者1000次,或者,如果我们使用的是飞机着陆程序……
如果还不知道度是如何工作的,现在先不要担心,我们只要尝试修改数字,看看发生了什么就好了。我们通过修改range后面的圆括号中的值,让程序绘制的线条数达到200或500,或者50。
我们再尝试将最后一行的角度修改为91、46、61或121等。记住每次都保存程序,然后,我们运行它,看看所做的修改会如何影响到程序的绘制。年龄大一点的读者了解一些几何知识,可能会根据不同的角度看到一些熟悉的形状,甚至能够在程序运行之前根据角度来预测出形状。较小的读者则只能够感受修改带来的变化,等他们某一天上了几何课之后,可以再回头来看这个练习。