python海龟作图不用循环_零基础学编程014:小海龟做画

通过向海龟(turtle)发送命令,用户可以直观地学习程序的运行过程,因此它很适合于儿童学习,当然也可以用于几何教学。我以前就在一些学习机上运行过LOGO环境,还带着自己的孩子在上面做画,估计她现在早就忘了这段故事了。

a9d94137bac9c56804694eac2b05567e.png

强大的Python语言肯定也不会遗忘小海龟,在Python环境中已经内置好了turtle模块,你只需要在Python IDLE中输入2行语句,就可以让小海龟就位。

import turtleturtle.reset()

这时屏幕上会弹出一个图形窗口,那个朝向右方的小箭头就代表小海龟。

6135ca7a81176018796f1c735001a629.png

现在试着给小海龟发送命令,forward(100)表示向前方走100步,计算机上1步就是1个像素,left(90)表示向左转90度。

咱们来个郭冬临在小品《问路》中的“左转左转左转左转,好像是一个圈呦”:

turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)

当然画出来的是一个正方形。

0eee1ad1620feb93224720333829a0cf.png

我们已经在《零基础学编程007:FOR循环》里学过了循环语句,可以把代码简化为重复4次的前进和左转,效果一样:

for i in range(4) :    turtle.forward(100)    turtle.left(90)

这些指令虽然简单,但你可别小瞧它,一段计算机程序也就是顺序条件循环这三种程序结构。如果再运用上递归算法,能够产生许多奇妙的图案。试着复制并粘贴这段代码到Python IDLE中,看看它能画出什么图形?

from turtle import *def f(length, depth):   if depth == 0:     forward(length)   else:     f(length/3, depth-1)     right(60)     f(length/3, depth-1)     left(120)     f(length/3, depth-1)     right(60)     f(length/3, depth-1)f(500, 4)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值