题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题仍然是等边三角形,但图形的摆放方向和第 3 题不同。开始画边之前,需要先让海龟向左转 30 度,让三角形整体倾斜到题目中的方向。

最终效果

Python 海龟绘图 100 题,第 5 题

Python 海龟绘图 100 题,第 5 题

知识点

  • t.left(30):开始画图前先向左转 30 度,调整三角形整体方向。
  • for _ in range(3):重复 3 次,画出三角形的 3 条边。
  • t.left(120):每画完一条边后向左转 120 度。
  • 同一个图形改变初始方向后,位置和朝向会发生变化,但边数和转角规律不变。

绘图思路

先用 left(30) 调整海龟面朝的方向,再按等边三角形的规律画 3 条边。每条边长度相同,每次转 120 度,只是这次使用左转,所以三角形会朝另一个方向展开。

完整代码

Python
import turtle as t

t.left(30)

for _ in range(3):
    t.forward(100)
    t.left(120)

t.done()

关键步骤讲解

先调整起始方向

t.left(30) 会让海龟在画第一条边之前先转 30 度。它只改变方向,不会留下线条。

继续使用三角形规律

虽然三角形旋转了,但它仍然有 3 条等长边。循环次数还是 3,每次前进的距离也保持一致。

用左转画出三条边

t.left(120) 表示每画完一条边后向左转 120 度。三次前进和三次转向完成后,图形会闭合。

区分初始转向和边上转向

开头的 left(30) 是为了摆正图形方向,循环里的 left(120) 是为了画三角形的下一个边。两个角度的作用不同。

常见错误

  • 忘记开头的 t.left(30):三角形还能画出来,但方向和题目图不一样。
  • 把循环里的角度也写成 30:海龟转得太少,三角形无法闭合。
  • left(30) 写进循环:每条边前都会多转一次,图形会变形。
  • 边长数字不一致:三角形会失去等边效果。

练习

把开头的 30 改成 04590,观察同一个三角形怎样旋转。再把循环里的 left(120) 改成 right(120),看看图形朝向有什么变化。