题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题也是三角形,但它不是直角三角形。程序先画一条 60 像素的水平线,再右转 110 度画出一条较长的斜线。最后一条边仍然交给 home() 完成,让海龟从当前位置直接回到原点。

最终效果

Python 海龟绘图 100 题,第 7 题

Python 海龟绘图 100 题,第 7 题

知识点

  • t.fd(60):画出第一条长度为 60 的水平边。
  • t.rt(110):让海龟向右转 110 度,改变第二条边的方向。
  • t.fd(100):画出第二条长度为 100 的斜边。
  • t.home():让海龟回到原点,自动画出最后一条连接线。

绘图思路

先按默认方向画出第一条短边,再转 110 度画出第二条长边。画完两条已知边后,海龟停在第三个顶点。此时不必计算回到原点的角度和距离,直接使用 home(),就能把最后一条边补上。

完整代码

Python
import turtle as t
t.fd(60)
t.rt(110)
t.fd(100)
t.home()

关键步骤讲解

画出第一条水平边

t.fd(60) 会让海龟从原点向右移动 60 个像素。第一条边比较短,用来确定三角形上方的边。

右转 110 度

t.rt(110) 表示海龟向右转 110 度。这个角度决定了第二条边的倾斜方向,也是这道题和前面直角图形的主要区别。

画出第二条长边

转向后执行 t.fd(100),海龟会沿新的方向前进 100 个像素,画出第二条边。这里的边长比第一条更长,所以三角形看起来会向下方延伸。

使用 home 补上最后一条边

t.home() 会让海龟从当前位置回到原点。画笔落下时,这条返回路径会成为三角形的第三条边。

常见错误

  • 110 写成 90:图形会变成接近第 6 题的直角形状。
  • 忘记最后的 t.home():只能画出两条边,三角形不会闭合。
  • 把第二次前进写成 t.fd(60):两条边长度一样,效果和题目不一致。
  • home() 前改变方向:home() 本身会直接回到原点,前面多余的转向没有必要。

练习

110 改成 100120,观察第二条边的倾斜角度怎样变化。也可以把 60100 换成其他长度,看看三角形的形状会怎样改变。