且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《像计算机科学家一样思考Python》——4.2 简单重复

更新时间:2022-09-24 13:23:48

本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第4章,第4.2节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

4.2 简单重复

你可能会写下如下代码(除去新建TurtleWorld和等待用户的操作外):

fd(bob, 100)
lt(bob)

fd(bob, 100)
lt(bob)

fd(bob, 100)
lt(bob)

fd(bob, 100)

使用for语句,可以更紧凑地实现同样功能。把下面的例子加到mypolygon.py中,并再运行一次:

for i in range(4):
   print 'Hello!'

你可能会看到如下输出:

Hello!
Hello!
Hello!
Hello!

这是for语句的最简单用法,后面我们会看到更多的用法。但这样已经足够重写刚才的画正方形的程序了。请重写后再接着阅读。

下面是使用for语句绘制正方形的程序:

for i in range(4):
  fd(bob, 100)
  lt(bob)

for语句的语法和函数定义类似。它也有一个以冒号结束的语句头,并有一个缩进的语句体。语句体可以包含任意数量的语句。

for语句有时被称为循环(loop),因为执行流程会遍历语句体,之后从语句体的最开头重新循环执行。在这个例子里,语句体执行了4次。

这个版本的代码和之前的绘制正方形的代码其实还稍有不同,因为在最后一次循环后它多做了一次左转。多余的左转稍微多消耗了点时间,但因为每次循环做的事情都一样,也让代码更简练。这个版本的代码还有一个效果,程序执行完之后,乌龟会回归到初始的位置,并朝向初始相同的方向。