深入python:怎样像计算机科学家一样思考-像女人一样行动,像男人一样思考
本书本节节选自Asynchronous Community作者[美国]Allen B. Downey的《Thinking Python Like a Computer Scientist》一书第4章4.1节,赵普明译。 更多章节请访问云栖社区“异步社区”公众号查看。
第 4 章案例研究:界面设计
4.1 海龟世界
包是模块的集合; Swampy 有一个名为“TurtleWorld”的模块,它提供了引导乌龟在屏幕上爬行并绘制其轨迹的功能。
系统安装Swampy后,可以导入TurtleWorld模块,如下:
来自 swampy.TurtleWorld 导入 *
如果您下载了 Swampy 但没有安装它,您可以在它的代码目录中使用它,或者将它的目录添加到 Python 的搜索路径中。 然后你可以像这样导入 TurtleWorld:
从 TurtleWorld 导入 *
安装过程的细节以及如何设置 Python 搜索路径取决于您使用的系统。 所以这里就不详细讨论了,这里维护几个系统的相关安装信息。
创建文件 mypolygon.py 并输入以下代码:
来自 swampy.TurtleWorld 导入 *
世界=海龟世界()
鲍勃=乌龟()
打印鲍勃
等待用户()
第一行从 swampy 包的 TurtleWorld 模块导入所有成员。
接下来的几行创建一个 TurtleWorld 对象并将其分配给变量 world; 创建一个 Turtle 对象并将其分配给 bob。
打印bob对象会得到如下信息:
这意味着 bob 变量引用 TurtleWorld 模块中定义的 Turtle 类的一个实例。 在这种情况下,“实例”指的是集合中的一个成员; Turtle 对象 bob 是所有可能存在的 Turtles 集合的成员。
wait_for_user 告诉 TurtleWorld 等待用户执行一些操作深入python:怎样像计算机科学家一样思考,尽管目前除了关闭窗口之外对用户有用的操作并不多。
TurtleWorld 提供了几个命令海龟的函数:fd 和bk 用于前进和后退,lt 和rt 用于左转和右转。 此外,每只乌龟都拿着一支笔,笔尖可以向上或向下; 如果笔向下,它会画出它走过的路径。 函数 pu 和 pd 分别代表“pen up”和“pen down”。
要绘制一个右向角,在程序中添加以下代码(创建 bob 实例之后,调用 wait_for_user 之前):
fd(鲍勃,100)
LT(鲍勃)
fd(鲍勃,100)
第一行告诉鲍勃向前移动 100 步。 第二行告诉它向左转。
当你运行这个程序时深入python:怎样像计算机科学家一样思考,你会看到鲍勃向东走,然后向北走,在他身后留下两条线。
现在尝试修改程序来画一个正方形。 请不要继续,直到你成功!