题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题要画一个五角星。五角星也有 5 条主要线段,但转角不是五边形的 72 度。海龟每画完一条线后右转 144 度,就会跳到星形的下一个顶点。

最终效果

Python 海龟绘图 100 题,第 25 题

Python 海龟绘图 100 题,第 25 题

知识点

  • for i in range(0, 5):五角星由 5 条主要线段组成,循环 5 次。
  • t.fd(100):每次画出一条 100 像素的星形边。
  • t.rt(144):每次右转 144 度,连接到下一个星角。
  • 星形图案常用较大的转角,让线段跨过相邻顶点。

绘图思路

从一个顶点出发,向前画一条线,再右转 144 度。重复 5 次后,海龟会依次连接五角星的各个顶点,并回到起点附近。只要边长和转角保持一致,图形就会闭合。

完整代码

Python
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 改成 60140,观察五角星大小的变化。再把 t.rt(144) 改成 t.lt(144),看看五角星会朝哪个方向绘制。