题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题要画一个正五边形。五条边长度相同,每次转向的角度也相同。正五边形一共转满一圈是 360 度,所以每画完一条边后右转 360/5 度,也就是 72 度。

最终效果

Python 海龟绘图 100 题,第 20 题

Python 海龟绘图 100 题,第 20 题

知识点

  • for i in range(0, 5):重复执行 5 次,对应五边形的 5 条边。
  • t.fd(100):每次向前画出一条 100 像素的边。
  • t.rt(360/5):每画完一条边右转 72 度。
  • 正多边形转角:边数是 n 时,每次转向可以写成 360/n

绘图思路

先把五边形看成 5 条相同的线段。海龟从原点出发,画一条边后右转 72 度,连续重复 5 次,就会回到起点附近并闭合成一个正五边形。这里不需要分别写 5 组命令,用循环更清楚。

完整代码

Python
import turtle as t

for i in range(0, 5):
    t.fd(100)
    t.rt(360/5)

关键步骤讲解

确认边数

题图是五边形,所以循环次数写成 5。每次循环负责画一条边。

保持边长相同

t.fd(100) 每次都画 100 像素,五条边长度一致,图形才会接近正五边形。

计算转向角度

正多边形绕一圈是 360 度。五边形有 5 条边,所以每次转向是 360/5,也就是 72 度。

用循环避免重复代码

如果不用循环,需要连续写 5 次前进和转向。循环把这组重复动作收起来,改边长或边数时也更方便。

常见错误

  • 把循环次数写成 46:图形会变成四边形或六边形的画法。
  • 360/5 写成 5/360:转角会很小,图形无法闭合。
  • 忘记缩进循环里的两行命令:Python 会报缩进错误。
  • t.rt() 改成 t.lt() 后没有预期方向:图形会朝另一侧绘制,但仍然是五边形。

练习

100 改成 60150,观察五边形大小的变化。再把循环次数和转角一起改成 6360/6,试着画出正六边形。