上一课,孩子用 turtle 画出了正方形和长方形,还学会了用 for 循环简化重复代码。
今天我们要更进一步:用循环画出五边形、六边形,甚至圆形!然后学习“循环里面套循环”(嵌套循环),画出漂亮的花朵和螺旋。
孩子将从小画家升级为“几何魔法师”!
📦 课前准备
项目 | 说明 |
电脑 | Windows / Mac 均可 |
编程环境 | Thonny
|
孩子状态 | 对图形感兴趣,愿意尝试不同数字 |
家长准备 | 先看一遍本文,熟悉“边数越多越接近圆”的概念 |
🎯 本课学习目标
学完这两课,孩子将能够:
1. 用循环画任意正多边形(三角形、正方形、五边形、六边形……)
2. 理解“边数越多,图形越接近圆形”
3. 用循环画一个圆(通过画很多边的正多边形)
4. 掌握嵌套循环,画出重复的花朵或螺旋图案
第7课:从正方形到多边形——边数与角度的秘密
第一步:回顾正方形的循环
之前我们画正方形用:
import turtlet = turtle.Turtle()for i in range(4):t.forward(100)t.left(90)turtle.done()
告诉孩子:正方形有4条边,每次转90度。为什么是90度?因为正方形每个外角是90度。示例执行效果见下图:

第二步:画等边三角形
如果画三角形呢?三角形有3条边,每次转多少度?
转动的角度 = 360 ÷ 边数 = 360 ÷ 3 = 120度。
代码:
import turtlet = turtle.Turtle()for i in range(3):t.forward(100)t.left(120)turtle.done()
让孩子运行,看看是不是画出了三角形。示例代码执行效果见下图:

第三步:画五边形、六边形
五边形:边数5,角度 = 360÷5 = 72度。
六边形:边数6,角度 = 360÷6 = 60度。
让孩子自己改数字试试:
① 改成 range(5),left(72)
② 改成 range(6),left(60)
观察:边数越多,图形看起来越像圆。
第四步:画一个近似的圆
如果边数变成 36 甚至 360,每次前进的步数小一点(比如 forward(5)),图形看起来就像一个圆了!
代码:
import turtlet = turtle.Turtle()for i in range(36):t.forward(10)t.left(10) # 360÷36=10turtle.done()
试一试:改成 range(72),forward(5),left(5) —— 更圆的圆!
告诉孩子:这就是计算机画圆的方法——用很多条小直线拼起来。示例代码执行效果见下图:

✋ 小练习1
任务1:画一个五边形(边长为80,橙色)
任务2:画一个八边形(边长为60,紫色)
任务3:画一个“圆”(用36条边,边长为10,红色)
挑战:画一个“靶心”——画三个大小不同的同心圆(可以用不同颜色)。
第8课:嵌套循环——画出花朵和螺旋
第一步:什么是嵌套循环?
有时候我们需要“循环里面套循环”。就像你每天刷牙(外循环),每次刷牙要上下刷10下(内循环)。
在 turtle 里,我们可以用嵌套循环画出一朵花:先画一个花瓣(内循环),然后转一个角度,再画一个花瓣,重复多次(外循环)。
第二步:画一朵简单的花
一个花瓣可以是一个小半圆或一个小的正方形?这里我们用一个小弧线来模拟花瓣,但为了简单,我们可以画一个“小叶子”:前进一小段,转120度,再前进一小段。
更简单的方法:画一个圆,然后旋转多次,形成花朵图案。
示例代码(六瓣花):
import turtlet = turtle.Turtle()t.speed(5)t.pencolor("red")for i in range(6): # 6个花瓣t.circle(50) # 画一个半径为50的圆(花瓣)t.left(60) # 转60度,准备画下一个花瓣turtle.done()
运行看看!这个程序画出了6个圆围成一圈,像一朵花。
让孩子改一下参数:
① 改成 range(8),left(45) —— 8个花瓣
② 改成不同的半径,不同颜色
示例代码执行效果见下图:

第三步:画螺旋正方形
另一种有趣的嵌套循环:边长逐渐增加的正方形螺旋。
代码:
import turtlet = turtle.Turtle()t.speed(0) # 最快速度边长 = 10for i in range(50):t.forward(边长)t.left(90)边长 = 边长 + 5 # 每次边长增加5turtle.done()
运行看看!海龟会越走越远,画出一个螺旋形状。
让孩子改一改:
① 改变每次增加的长度
② 改成 left(91) —— 会画出更复杂的螺旋
示例代码执行效果见下图:

✋ 小练习2
任务1:画一朵“六瓣花”(用 circle 命令,6个花瓣,粉色)
任务2:画一个螺旋正方形(边长从10开始,每次增加5,共50次)
挑战:画出“彩色螺旋”——每次循环时改变颜色(可以用颜色列表,简单教 pencolor 的规律)
亲子小活动
1. 家庭画廊:让孩子把画出的花朵、螺旋、圆形保存下来(截图或拍照),打印出来贴在墙上。
2. 猜猜边数:让孩子画一个图形,你猜边数;然后互换,你说边数孩子画。
3. 颜色魔法:教孩子用 `t.pencolor("颜色")` 更换不同颜色,甚至可以随机颜色(需要 random 模块,可以简单提一下)。
家长小贴士
多边形角度公式:360 ÷ 边数。8-10岁孩子基本能理解除法,可以让他用计算器验证。
嵌套循环对孩子有点抽象,建议用“每天刷牙,每颗牙刷10下”的比喻,不要急于求成。
如果孩子画出的图形“走样”了,检查角度和循环次数是否匹配。
提醒:turtle 窗口可能关闭很快,记得加上 `turtle.done()`。
下期预告
下一课,我们将结合随机数和循环,制作一个“万花筒”程序——每次运行都会画出不一样的美丽图案。还会学习用 `input()` 控制画图的参数,让孩子设计自己的互动图形。
记得关注公众号,设置星标⭐,不错过每一次更新。
资源领取
关注本公众号,后台回复“第七课代码”,即可获得:
本课所有例子的完整代码(三角形、五边形、六边形、圆形、花朵、螺旋)
彩色螺旋的扩展代码(带随机颜色)
欢迎晒出你家孩子画出的花朵和螺旋!我们会选出“最佳几何艺术家”在下期展示。
我们下期见。
往期课程
Python入门第5-6课:变量进阶 + 海龟画正方形——适合父母在家指导6-8岁小朋友 | 零基础 | 需要电脑
Python入门第3-4课:第一个程序——print()与打招呼
启蒙书籍