当前位置: 主页 > Python语言

深入python:怎样像计算机科学家一样思考-像女人一样行动,像男人一样思考

发布时间:2023-02-11 11:27   浏览次数:次   作者:佚名

本书本节节选自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:怎样像计算机科学家一样思考,你会看到鲍勃向东走,然后向北走,在他身后留下两条线。

现在尝试修改程序来画一个正方形。 请不要继续,直到你成功!