题目
用 Python Turtle 绘制下面的图形。
题目说明
这道题要画一个正方形,并加上一条从左上角到右下角的对角线。正方形边长是 100 像素,边框可以按普通正方形来画,对角线可以利用 home() 从右下角回到起点画出来。
最终效果

Python 海龟绘图 100 题,第 16 题
知识点
t.fd(100):画出正方形的一条边。t.rt(90):每画完一条边后右转 90 度。t.home():从当前点回到原点,用来画对角线。- 重复前进和转向可以画边框,再用回原点命令补内部线。
绘图思路
可以先画出正方形的上边和右边,到达右下角后调用 home(),直接画出对角线并回到左上角。随后再从左上角向下画左边,向右画底边。这样不用计算对角线长度,也能得到题图中的效果。
完整代码
# 不使用循环。
import turtle as t
t.fd(100)
t.rt(90)
t.fd(100)
t.home()
t.rt(90)
t.fd(100)
t.lt(90)
t.fd(100)
# 使用循环。
for i in range(6):
t.fd(100)
t.rt(90)
t.home()
关键步骤讲解
先到达右下角
开头的 t.fd(100) 和 t.rt(90)、t.fd(100) 会画出上边和右边,海龟停在右下角。
用 home() 画对角线
从右下角调用 t.home(),海龟会回到原点。画笔默认落下,所以返回路径就是正方形的对角线。
补出左边和底边
回到原点后,海龟面向右方。先右转 90 度向下画左边,再左转 90 度向右画底边,正方形边框就完整了。
循环写法的思路
循环写法先重复“前进 100,右转 90 度”。前 4 次会画完正方形边框,第 5 次和第 6 次让海龟重新走到右下角,最后 home() 画出对角线。
常见错误
- 在右下角前就调用
home():对角线位置会不对。 - 忘记补左边和底边:图形只有两条边和一条对角线。
- 循环次数写成
4:只能画出正方形边框,不能走到右下角画对角线。 - 在
home()前抬笔:对角线不会被画出来。
练习
把边长 100 改成 80 或 140,观察正方形和对角线如何一起变化。也可以试着画另一条对角线,从右上角连到左下角。