蓝桥题库每日一练 · 2026.07.14

7月14日 用 turtle 绘制下图所示的「太阳」:中间是…

Python编程题参考难度 ★★★☆☆蓝桥杯第十一届 选拔赛 · 已用
用 turtle 绘制下图所示的「太阳」:中间是边长 50 的正十二边形(填充红色),周围每条边外接一个等边三角形(填充黄色),背景白色;正十二边形上下两条边与 X 轴平行;隐藏画笔并能看到绘制过程。
评分标准
  • 10 分:正确画出一个正十二边形,且能看到绘制过程
  • 30 分:再画出所有等边三角形
  • 50 分:颜色/方向正确、画笔隐藏
参考解法
先认识一下咱们的画图工具:turtle(海龟画图)是 Python 自带的小画家——你就把它想成一只趴在屏幕上的小海龟,它往前爬一步,身后就留下一条线;你让它转个弯,它就换个方向接着爬。咱们只要一步步指挥它,图就画出来了。

好,别被「太阳」两个字吓住,先把它拆成两样东西:中间一个红色的正十二边形,外面每条边顶着一个黄色小三角。分开画,就一点都不难了。

先画正十二边形:走一圈是 360°,一共十二条边,所以每画完一条就左转 360÷12=30°。题目还要求上下两条边水平,那咱们就让小海龟从底边的左端出发、脸朝正右方(setheading(0))——第一条边就是水平的底边;再转过 6 次 30°,一共 180°,第 7 条边正好朝正左,就是水平的顶边。

再添三角形。这里有个容易掉进去的坑:三角形要长在十二边形的外面。你看,小海龟一路左转、逆时针绕圈,十二边形始终在它的左手边,那外面就是它的右手边。所以在每条边的起点,让它「前进 50、右转 120°」重复 3 次,画出来的等边三角形就朝外,而且正好回到起点、脸也转回原来的方向(3 次 120° 正好转满一圈)。为什么是 120°?等边三角形每个角是 60°,小海龟在拐角处要转的是 180−60=120°。画完一个,再「前进 50、左转 30°」走到下一条边的起点,一共重复 12 次。

还有两个小要求:speed(3) 让小海龟不紧不慢地画,你才「看得到绘制过程」——注意别写 speed(0),0 表示「最快」,图会一下子冒出来,看不到过程;hideturtle() 把小海龟藏起来。起点定在 (-25,-93),是为了让太阳大致落在画布正中间。

import turtle as t
t.speed(3)                   # 速度 3:慢慢画,看得清过程
t.hideturtle()               # 隐藏画笔(小海龟)……

看此题详解,练更多题目,进入蓝桥题库每日一练 →

此答案或解析由 AI 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。