python画图零基础入门教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 3. 循环...

在前面的教程中,咪博士留了一道练习题给大家—-画正方形,相信聪明的你应该已经画出来了。

square.png

下面是咪博士实现的代码。 是不是跟你的代码很像呢?

1 importturtle2

3 turtle.forward(200)4 turtle.left(90)5

6 turtle.forward(200)7 turtle.left(90)8

9 turtle.forward(200)10 turtle.left(90)11

12 turtle.forward(200)13 turtle.left(90)14

15 turtle.exitonclick()

虽然这段代码可以成功绘制出一个正方形,但它还有些不足的地方。仔细观察,我们发现,有许多代码是重复的:第 3, 4 行的代码重复了 4 次。在编程的时候,我们要尽量避免重复的代码。遇到需要重复执行的语句,我们应当使用循环来实现。

下面是咪博士用循环重新实现的画正方形的功能。怎么样,代码是不是简洁许多了呢?但是好像看不太懂了?

1 importturtle2

3 for i in range(4):4 turtle.forward(200)5 turtle.left(90)6

7 turtle.exitonclick()

别急,听咪博士为你讲解。

第 3, 4, 5 行就是一个循环,用于执行重复的语句。

其中,第 4, 5 行的代码和原来的版本”几乎”是一样的,它们是需要重复执行的语句,我们称之为循环体。不过,一定要注意的是,同原来的版本相比,第 4, 5 行的代码不是顶格写的,而是向右缩进了一些(所以是“几乎”一样,而不是完全相同),Python 正是根据缩进来推断哪些语句属于循环体。通常我们使用连续的 4 个空格符来表示一级的缩进。

第 3 行的代码是一个 for 循环。它的作用是重复执行循环体中的语句。可是要重复执行多少次呢?答案是 4 次。为什么?我们先来看 range 函数,range(n) 相当于产生一个从 0 到 n-1 的等差数列, 即 0, 1, 2…, n-1,总共 n 个数字。所以,这里的 range(4) 相当于数列 0, 1, 2, 3,总共是 4 个数字。 foriinrange(4): 的意思就是每次循环从数列中取出 1 个数字,赋值给变量 i,直至取完数列中所有的数字,即

第 1 次循环的时候,i = 0

第 2 次循环的时候,i = 1

第 3 次循环的时候,i = 2

第 4 次循环的时候,i = 3

然后呢?然后循环就结束了,因为 range(4) 对应的数列只有 0, 1, 2, 3 这 4 个数字。这 4 个数字通过 4 次循环已经全部取完了。没数字可取了,所以循环也就结束了。因此,第 3 行的代码 foriinrange(4): 将执行 4 次循环体(第 4, 5 行的代码)

最后,咪博士给大家展示一个更高级一点的例子—-嵌套循环,即循环体里面还有循环!

1 importturtle2

3 for i in range(16):4 turtle.left(22.5)5

6 for j in range(4):7 turtle.forward(200)8 turtle.left(90)9

10 turtle.exitonclick()

【练习】

先不要运行代码,尝试分析一下,上面这段代码会绘制出什么样的图案?

让代码跑起来,看看你的分析是否正确。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值