题目
用 Python Turtle 绘制下面的图形。
题目说明
这道题的图形由 4 个五角星组成,分别分布在右、下、左、上四个方向。海龟每次先从中心点走到一个方向的星形位置,画完五角星后退回中心点,再右转 90 度准备画下一个方向。
最终效果

Python 海龟绘图 100 题,第 26 题
知识点
- 外层
for i in range(0, 4):控制 4 个方向。 t.fd(100):从中心点走到五角星的位置。- 内层
for j in range(0, 5):画出一个五角星。 t.bk(100):画完五角星后退回中心点。t.rt(90):转到下一个方向。
绘图思路
可以把图形拆成 4 组相同动作。每一组先从中心向外画一条 100 像素的线,到达端点后画一个边长 50 的五角星。五角星画完会回到端点,再用 t.bk(100) 回到中心。最后右转 90 度,继续画下一组。
完整代码
import turtle as t
for i in range(0, 4):
t.fd(100)
for j in range(0, 5):
t.fd(50)
t.rt(144)
t.bk(100)
t.rt(90)
关键步骤讲解
外层循环控制方向
外层循环执行 4 次,每次负责一个方向。右转 90 度后,海龟会依次朝向右、下、左、上四个方向。
先走到星形位置
t.fd(100) 从中心点向外画出一条线,也把海龟移动到五角星的起点。
内层循环画五角星
内层循环和第 25 题的五角星画法一样,连续画 5 条 50 像素线段,每次右转 144 度。
回到中心点
五角星画完后,海龟还在外侧端点。t.bk(100) 沿原方向后退,回到中心点,下一组图形才会从同一个中心出发。
常见错误
- 忘记
t.bk(100):下一个五角星会从外侧继续画,中心不会对齐。 - 把外层循环次数写成
5:会多画一个方向,覆盖已有图形。 - 把内层循环次数写成
4:五角星画不完整。 - 把
t.rt(90)放进内层循环:五角星的转向会被打乱。
练习
把外侧距离 100 改成 70 或 130,观察四个五角星离中心的远近变化。再把五角星边长 50 改成 30,看看整体图形是否更紧凑。