暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

与孩子一起学python编程2 让海龟听指令

盛桃云 2019-08-01
1863

python有一个turtle(海龟)模块,海龟模块特别适合于少儿学习编程。

01 让海龟行走出一个正方形的轨迹

打开 IDLE,创建一个文件(菜单New > New File),输入如下内容:

import turtle


turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
保存文件为2.py,按 F5 (或者点击菜单 Run > Run Module)运行程序,可以看见一个箭头(想象为一只海龟)在屏幕上行走,最后绘制出一个正方形,如下图。

turtle.forward(100) 意思是让海龟前进100个像素,turtle.left(90)的意思是左转90度。然后多次重复前进100个像素和左转90度,最后海龟按我们的指令绘制出了一个正方形,可以想象一只海龟听从程序指令做了如下运动轨迹

也可以把上面代码中所有的left改为right,同样能让海龟走出一个正方形的轨迹,只不过是与上面的运动方向相反,大家自行测试。

02 让海龟走一个五角星的轨迹
下面让海龟行走一个五角星的轨迹,在 IDLE 编辑器中点击菜单 File > New File ,输入代码如下:
import turtle as t


t.forward(300)
t.right(144)
t.forward(300)
t.right(144)
t.forward(300)
t.right(144)
t.forward(300)
t.right(144)
t.forward(300)
保存为3.py 文件,然后按 F5(或者点击菜单 Run > Run Module)运行程序,可以看见海龟在屏幕上绘制出一个五角星的轨迹,如下图。

代码 import turtle as t 引入了turtle模块并且将其起了一个别名为 t,后续就可以用 t 代替 turtle,减少代码的编写。五角星每个尖角的角度是 360/5/2 = 36,绘制一条线之后需要右转的角度是 180-36 = 144 度。

再绘制一个没有中间连线、只有外围线框的五角星,代码如下:

import turtle as t


t.forward(100)
t.left(72)
t.forward(100)
t.right(144)
t.forward(100)
t.left(72)
t.forward(100)
t.right(144)
t.forward(100)
t.left(72)
t.forward(100)
t.right(144)
t.forward(100)
t.left(72)
t.forward(100)
t.right(144)
t.forward(100)
t.left(72)
t.forward(100)
不能再像前面的五角星那样一条线直接贯穿,而是要拆成更多的小线段并连接起来。将程序保存为4.py,按 F5 运行程序,得到如下图形

转到其他尖角的角度为 (180-36)/2 = 72 度,144还是按上一个五角星的公式计算得到(180-36=144)。

03 让海龟走一个六边形的轨迹

绘制六边形的代码如下:

import turtle as t


t.forward(100)
t.left(60)
t.forward(100)
t.left(60)
t.forward(100)
t.left(60)
t.forward(100)
t.left(60)
t.forward(100)
t.left(60)
t.forward(100)
保存为5.py 文件,然后按 F5(或者点击菜单 Run > Run Module)运行程序,可以看见海龟在屏幕上绘制出一个六边形的轨迹,如下图

04 让海龟走 n 边形的轨迹

import turtle as t


n = 8
angle = 360/n
t.forward(100)
for i in range(n-1):
    t.left(angle)
    t.forward(100)
将上面的代码保存为6.py,然后按 F5(或者点击菜单 Run > Run Module)运行程序,可以看见海龟在屏幕上绘制出一个八边形的轨迹,如下图

把上面代码中的 n 改为5,运行能得到五边形,n 改为7能得到七边形,n 改为 9 能得到9边形...,大家自行测试。

05 用函数实现代码的重用

import turtle as t


def polygon(n):
    angle = 360/n
    t.forward(100)
    for i in range(n-1):
        t.left(angle)
        t.forward(100)


polygon(3)
将代码保存为6.py,然后按 F5(或者点击菜单 Run > Run Module)运行程序,可以看见海龟在屏幕上绘制出一个三角形的轨迹,如下图

上面的代码 def polygon(n): 定义了一个 polygon 函数,内容为绘制多边形的关键代码。这样 polygon 函数就可以多次反复使用,比如 polygon(4),  polygon(5), polygon(6), polygon(7) 然后运行就能分别能得到四、五、六、七边形,大家自行测试。


本文内容到此结束,更多内容可关注微信公众号,或添号 centyun


文章转载自盛桃云,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论