题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题要画一个像“田”字的图形。可以把它看成 4 个正方形围绕同一个顶点旋转排列。内层循环负责画一个正方形,外层循环负责换一个方向继续画。

最终效果

Python 海龟绘图 100 题,第 27 题

Python 海龟绘图 100 题,第 27 题

知识点

  • 外层 for i in range(0, 4):重复画 4 个方向的正方形。
  • 内层 for j in range(0, 4):每次画出一个正方形的 4 条边。
  • t.fd(100):每条边长度是 100 像素。
  • t.rt(90):正方形每条边之后右转 90 度,画完一个正方形后也用它换方向。

绘图思路

先用内层循环画一个边长 100 的正方形。正方形画完后,海龟会回到起点,方向也回到原来的方向。接着右转 90 度,再画下一个正方形。这样重复 4 次,四个正方形围在一起,就形成田字形图案。

完整代码

Python
import turtle as t

for i in range(0, 4):
    for j in range(0, 4):
        t.fd(100)
        t.rt(90)
    t.rt(90)

关键步骤讲解

内层循环画正方形

内层循环执行 4 次,每次前进 100 像素并右转 90 度。四条边画完后,一个正方形完成。

正方形画完会回到起点

画正方形时总共转了 360 度,所以海龟会回到起点和原来的朝向。这一点让外层循环可以继续从同一个点出发。

外层循环改变方向

每画完一个正方形后,再执行一次 t.rt(90)。海龟转到新的方向,下一次内层循环就会在另一个方向画正方形。

四次旋转组成田字形

外层循环一共执行 4 次,正好覆盖四个方向。四个正方形相互连接,图形中间就像一个田字。

常见错误

  • 把外层循环次数写成 3:会少一个方向,田字形不完整。
  • 把内层循环次数写成 3:每个正方形少一条边。
  • 忘记外层最后的 t.rt(90):四个正方形会重复画在同一个位置。
  • 把内层和外层的缩进混在一起:循环层级错了,图形也会错。

练习

把边长 100 改成 60120,观察田字形整体大小的变化。也可以把所有 t.rt(90) 改成 t.lt(90),看看图形会朝相反方向展开。