题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题要画一个带对角线的长方形。长边是 100 像素,短边是 40 像素,内部有一条从一个角连到对角的斜线。和第 16 题一样,斜线可以用 home() 来画,不需要计算对角线长度。

最终效果

Python 海龟绘图 100 题,第 17 题

Python 海龟绘图 100 题,第 17 题

知识点

  • t.fd(100):画出长方形的长边。
  • t.fd(40):画出长方形的短边。
  • t.home():从当前角点回到原点,画出对角线。
  • t.rt(90)t.lt(90):控制直角转向,补完整个边框。

绘图思路

先画上边和右边,让海龟到达长方形的右下角。然后用 t.home() 回到原点,画出对角线。回到原点后,再向下画短边,向右画底边,长方形边框就补完整了。

完整代码

Python
import turtle as t

t.fd(100)
t.rt(90)
t.fd(40)
t.home()
t.rt(90)
t.fd(40)
t.lt(90)
t.fd(100)

关键步骤讲解

画出上边和右边

t.fd(100) 先画长边,右转后 t.fd(40) 画短边。完成这两步后,海龟停在右下角。

用 home() 画对角线

从右下角调用 t.home(),海龟会直接回到原点。这个返回过程会留下内部斜线。

补出左边

回到原点后,海龟重新面向右方。t.rt(90) 后再写 t.fd(40),可以画出左侧短边。

补出底边

画完左边后,t.lt(90) 让海龟重新面向右方,再前进 100 像素,底边就完成了。

常见错误

  • 把短边写成 60100:图形比例会和题图不一样。
  • 忘记 t.home():内部对角线不会出现。
  • home() 后没有重新转向:后面补边时方向会错。
  • 把最后的 t.lt(90) 写成 t.rt(90):底边会朝反方向画。

练习

把短边 40 改成 60,观察长方形高度和对角线角度怎么变化。再试着先画完整边框,最后再画对角线,比较两种写法的步骤差异。