题目

用 Python Turtle 绘制下面的图形。

题目说明

这道题要画一个长方形。图形有两条长边和两条短边,长边是 100 像素,短边是 60 像素。开始写代码前,可以先观察边长的变化顺序:先画长边,再转 90 度画短边,这一组动作重复 2 次。

最终效果

Python 海龟绘图 100 题,第 9 题

Python 海龟绘图 100 题,第 9 题

知识点

  • t.fd(100):画出长方形的一条长边。
  • t.fd(60):画出长方形的一条短边。
  • t.rt(90):每画完一条边后右转 90 度。
  • for i in range(2):重复 2 次,正好画完两组“长边加短边”。

绘图思路

长方形和正方形都需要直角转向,不同的是长方形的相邻两条边长度不一样。可以把“前进 100,右转 90 度,前进 60,右转 90 度”看成一组动作,执行 2 次后,4 条边就画完了。

完整代码

Python
# 不使用循环。
import turtle as t

t.fd(100)
t.rt(90)
t.fd(60)
t.rt(90)
t.fd(100)
t.rt(90)
t.fd(60)
t.rt(90)

# 使用循环。

for i in range(2):
    t.fd(100)
    t.rt(90)
    t.fd(60)
    t.rt(90)

关键步骤讲解

区分长边和短边

题图上方的边标注为 100,右侧的边标注为 60。画长方形时,不能像正方形那样每条边都写同一个数字。

每条边后都要转向

t.rt(90) 表示向右转 90 度。长方形的每个角都是直角,所以每画完一条边都要转一次。

用一组动作完成两条边

一组动作里包含一条长边和一条短边。长方形有两组这样的边,所以循环次数写成 2

保持转向方向一致

这份代码一直使用右转。如果中途改成左转,海龟会朝另一个方向走,图形很容易错位。

常见错误

  • 把循环次数写成 4:每次循环已经画了两条边,写成 4 会多画一圈。
  • 10060 写反:长方形方向会变成竖向。
  • 忘记第二个 t.rt(90):下一轮循环开始时方向不对。
  • 把所有边都写成 100:画出来会变成正方形。

练习

把长边改成 150,短边改成 80,观察长方形大小和比例的变化。再把 t.rt(90) 改成 t.lt(90),看看图形会朝哪一侧展开。