蓝桥题库每日一练 · 2026.08.11
8月11日 用 Turtle 画一棵分形树:主干向上生长;分…
用 Turtle 画一棵分形树:主干向上生长;分形层数为 4、是二叉树(每根树枝顶端分出左右两根);第一层树枝长度为 60,之后逐层减 6;左右树枝的倾斜角度不限,最终样子像一棵张开的树即可;必须能看出绘图过程。
评分标准
- 10 分:能画出大致的第一层树枝
- 30 分:能画出两层以上的树枝,且为二叉树
- 50 分:向上生长、二叉树、层数为 4、树枝长度逐层递减、能看出绘图过程
参考解法
又见小海龟(turtle)!8 月 1 日它帮我们画过五角星,今天要画一棵会分叉的树。先看这棵树长什么样:一根主干,到顶端分成两根小树枝;每根小树枝到头又各自分成两根更小的……这样一共分 4 层。
这里要认识一个很重要的新念头——递归。你见过俄罗斯套娃吗?打开一个大娃娃,里面是个小娃娃,打开小的里面还有更小的,长得一模一样、只是小一号。这棵树也是这样:每一根树枝,都可以看成「一棵小一号的树」。这种「自己里面又包着一个小一号的自己」,在编程里就叫递归。
于是我们教小海龟一个本领 tree(长度, 还剩几层):
① 先向前画出这根树枝;
② 往左偏一点,喊「自己」去画左边那棵「小一号的树」(长度减 6、层数减 1);
③ 转回来往右偏一点,再喊「自己」画右边那棵;
④ 画完退回到根部,好让上一层接着往下画。
什么时候停?层数减到 0 就不画了——这一步叫递归的「刹车」,没有它,海龟会没完没了地画下去。
import turtle as t
def tree(length, level):
if level == 0: # 刹车:没层数了就返回
return
t.forward(length) # 画这根树枝……此答案或解析由 AI 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。