题目
用 Python Turtle 绘制下面的图形。
题目说明
这道题要画一个五角星。五角星也有 5 条主要线段,但转角不是五边形的 72 度。海龟每画完一条线后右转 144 度,就会跳到星形的下一个顶点。
最终效果

Python 海龟绘图 100 题,第 25 题
知识点
for i in range(0, 5):五角星由 5 条主要线段组成,循环 5 次。t.fd(100):每次画出一条 100 像素的星形边。t.rt(144):每次右转 144 度,连接到下一个星角。- 星形图案常用较大的转角,让线段跨过相邻顶点。
绘图思路
从一个顶点出发,向前画一条线,再右转 144 度。重复 5 次后,海龟会依次连接五角星的各个顶点,并回到起点附近。只要边长和转角保持一致,图形就会闭合。
完整代码
import turtle as t
for i in range(0, 5):
t.fd(100)
t.rt(144)
关键步骤讲解
循环 5 次
五角星需要 5 条线段来完成主要轮廓,所以循环次数是 5。
每条线段长度一致
t.fd(100) 让每条星形边长度相同。长度改大,五角星会整体变大;长度改小,五角星会变小。
使用 144 度转角
五角星每次会跨到下一个非相邻顶点,因此转角比正五边形更大。这里用 t.rt(144) 才能画出交叉的星形线条。
闭合图形
循环执行完第 5 次后,海龟会回到接近起点的位置,五角星自然闭合。
常见错误
- 把
144写成72:会画出五边形方向的图形,不会形成五角星。 - 循环次数写成
4:星形少一条边,无法闭合。 - 把
t.rt(144)放到循环外:海龟只会一直向前画线。 - 缩进错误:前进和转向都必须在循环里。
练习
把 100 改成 60 或 140,观察五角星大小的变化。再把 t.rt(144) 改成 t.lt(144),看看五角星会朝哪个方向绘制。