题目
用 Python Turtle 绘制下面的图形。
题目说明
这道题要画一个带对角线的长方形。长边是 100 像素,短边是 40 像素,内部有一条从一个角连到对角的斜线。和第 16 题一样,斜线可以用 home() 来画,不需要计算对角线长度。
最终效果

Python 海龟绘图 100 题,第 17 题
知识点
t.fd(100):画出长方形的长边。t.fd(40):画出长方形的短边。t.home():从当前角点回到原点,画出对角线。t.rt(90)和t.lt(90):控制直角转向,补完整个边框。
绘图思路
先画上边和右边,让海龟到达长方形的右下角。然后用 t.home() 回到原点,画出对角线。回到原点后,再向下画短边,向右画底边,长方形边框就补完整了。
完整代码
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 像素,底边就完成了。
常见错误
- 把短边写成
60或100:图形比例会和题图不一样。 - 忘记
t.home():内部对角线不会出现。 home()后没有重新转向:后面补边时方向会错。- 把最后的
t.lt(90)写成t.rt(90):底边会朝反方向画。
练习
把短边 40 改成 60,观察长方形高度和对角线角度怎么变化。再试着先画完整边框,最后再画对角线,比较两种写法的步骤差异。