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

简介:

本节书摘来自异步社区《像计算机科学家一样思考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次。

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

相关文章
|
3月前
|
机器学习/深度学习 人工智能 TensorFlow
Python小姿势 - 计算机科学家用Python编写自己的AI
Python小姿势 - 计算机科学家用Python编写自己的AI
|
Python
【python实战】top1 数字组合——有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
【python实战】top1 数字组合——有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
478 0
【python实战】top1 数字组合——有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
Python 在不改变顺序的前提下,去除列表中相邻且重复的元素
Python 在不改变顺序的前提下,去除列表中相邻且重复的元素
|
Python
Python:生成随机不重复的数
想要使用 Python 生成随机不重复的数,我们可以使用 `random` 模块来实现
219 1
|
Python
LeetCode 第 3 题:无重复字符的最长子串(Python 代码)
这是一道没有多少知识点的题目,就是用滑动窗口的方式来写,算是一道挺简单的题目,但是想了我很久。我的方法和官方的题解是差不多的,但是写完之后看官方题解就感觉很好理解。
80 0
|
SQL 算法 数据挖掘
Smaller And Smarter Python数据结构:删除无序链表重复结点
Smaller And Smarter Python数据结构:删除无序链表重复结点
python多维list创建(避免重复引用)
python多维list创建(避免重复引用)
|
小程序 Python
10 行 Python 代码实现,电脑自动清理电脑内重复文件
给定一个文件夹,使用 Python 检查给定文件夹下有无文件重复,若存在重复则删除。 主要涉及的知识点有: os 模块综合应用 glob 模块综合应用 利用 filecmp 模块比较两个文件
146 0
10 行 Python 代码实现,电脑自动清理电脑内重复文件
每天重复这样的Excel操作,写个python脚本多省事!
每天重复这样的Excel操作,写个python脚本多省事!
每天重复这样的Excel操作,写个python脚本多省事!