题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题要画一个正六边形。图形有 6 条一样长的边,每次转向角度相同。正六边形每次转向是 360/6 度,也就是 60 度。

最终效果

Python 海龟绘图 100 题,第 21 题

Python 海龟绘图 100 题,第 21 题

知识点

  • for i in range(0, 6):重复 6 次,对应六边形的 6 条边。
  • t.fd(80):每次画出一条 80 像素的边。
  • t.rt(360/6):每画完一条边右转 60 度。
  • 正多边形的转角可以用 360/边数 来计算。

绘图思路

六边形可以拆成 6 次相同动作:前进一条边,再转向 60 度。海龟重复这组动作 6 次后,会画出 6 条边并回到起点附近,图形就闭合了。

完整代码

Python
import turtle as t

for i in range(0, 6):
    t.fd(80)
    t.rt(360/6)

关键步骤讲解

设置循环次数

正六边形有 6 条边,所以 range(0, 6) 会让循环执行 6 次。每次循环只负责一条边。

画出等长边

t.fd(80) 表示每条边长度都是 80 像素。边长统一,六边形看起来才规则。

使用 60 度转向

一圈是 360 度,分成 6 次转向,每次就是 60 度。代码里写 360/6,可以直接看出它和边数的关系。

对比五边形的写法

第 20 题是五边形,循环 5 次并转 360/5。这题把边数换成 6,转角也跟着换成 360/6

常见错误

  • 只改循环次数,忘记改转角:图形可能无法闭合。
  • 360/6 写成 60/360:转角太小,海龟会画出接近直线的图形。
  • t.fd(80) 放到循环外:只会画一条边,后面的转向不会留下完整图形。
  • 缩进不一致:循环体里的命令必须保持相同缩进。

练习

把边长 80 改成 50120,观察六边形大小的变化。也可以把 6 改成 8,并把转角改成 360/8,试着画正八边形。