绘制折扇-第11届蓝桥杯选拔赛Python真题精选

导读\]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python**蓝桥杯真题解析100讲》,**这是解读系列的第11讲。 **绘制折扇,**本题是2019年\~2020年举办的第11届蓝桥杯青少组Python编程选拔赛真题(具体日期不详),题目要求以坐标点(0,0)为起始点绘制一把扇子,扇面和扇把都是三分之一的圆,扇面的半径为150,扇把的半径为30。 先来看看题目的要求吧。 ### 一.题目说明 **编程实现:** 以坐标点(0,0)为起始点绘制一把扇子。 扇面和扇把都是三分之一的圆,扇面的半径为150,扇把的半径为30,如图1所示: ![图片](https://file.jishuzhan.net/article/1730061756677492738/bc9fab8149c998575abbad43760cc9ea.webp) **绘制要求:** 1). 背景为白色,面笔为黑色,线宽 1,扇子张角为 120度; 2). 坐标点(0,0)为构成扇子的所有线段的相交点; 3). 绘图过程中隐藏画笔,并能清楚地看到扇子绘制过程。 **评判标准:** * 30分:能够绘制出张角为120度的扇面或扇把,不论是否满足其它要求; * 50分:扇子张角、大小、线宽、背景、位置和方向均完全符合题目要求。 ### 二.思路分析 这是一道海龟画图题,考察的知识点是Turtle的熟练运用。 这里的折扇,由扇面和扇把两部分组成,通常的做法就是分别绘制扇面和扇把,这当然是没有问题的。 但实际上,还有更简单的办法,不知道你发现了没,就是同时绘制扇面和扇把。 如果将实心圆看成是由360条直线构成的图形,那么这里的折扇则是由120条直线构成。 ![图片](https://file.jishuzhan.net/article/1730061756677492738/31309dacadb09a6484545080f9a6a88f.webp) 所不同的是旋转点不一样,对于圆而言,旋转点在直线的中间位置,对于折扇而言,旋转点在靠近扇把的一端。 所以,我们只需要控制好旋转点就可以一次性画出扇面和扇把了。 思路有了,接下来,我们就进入具体的编程实现环节。 ### 三.编程实现 根据上面的思路分析,我们编写代码如下: ![图片](https://file.jishuzhan.net/article/1730061756677492738/2eeaed4e6d374f83457df10d365e2170.webp) 代码不难理解,简单说明3点: 1). 小海龟的方向,默认为0,面向右方,其方向如图所示,所以需要将起始方向设置为120度; ![图片](https://file.jishuzhan.net/article/1730061756677492738/6eddf9283a3d694a0b39179938b89ace.webp) 2). 需要按照题目要求计算好每一步前进或后退的数值,同时要确保在旋转点(0,0)处右转; 3). 由于每次右转1度,所以一共循环了120次,也可以做相应的修改,比如每次右转2度,这样就需要循环60次。 运行程序,效果如图: ![图片](https://file.jishuzhan.net/article/1730061756677492738/854effe1ecf6024037138daec87a634a.webp) 至此,整个程序就全部完成了,一把简单的折扇就画好了。 ### 四.总结与思考 本题的分数为50分,代码在10行左右,涉及到的知识点包括: * 循环语句,主要是for...in循环; * 海龟画图的熟练运用; * Turtle坐标系的方向; 题目难度一般,关键在于如何使用最简单的方法快速编写代码。这就要求考生能够找出图形的特点和规律,使用最少的代码绘制好折扇。 超平老师给你留一道思考题,本题我们沿着顺时针方向画了一把黑色的折扇,能否逆时针方向将折扇擦掉呢,你知道怎么实现吗,赶紧动手试试吧。 你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。 如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄 需要源码的,可以私信本人。

相关推荐
2401_841495642 分钟前
【自然语言处理】中文 n-gram 词模型
人工智能·python·算法·自然语言处理·n-gram·中文文本生成模型·kneser-ney平滑
嘻哈baby16 分钟前
为什么越来越多的人放弃Flask转向FastAPI?
python
ss27330 分钟前
Java并发编程:DelayQueue延迟订单系统
java·python·算法
JHC00000032 分钟前
118. 杨辉三角
python·算法·面试
@游子37 分钟前
Python类属性与魔术方法全解析
开发语言·python
yuhaiqun19891 小时前
Typora 技能进阶:从会写 Markdown 到玩转配置 + 插件高效学习笔记
经验分享·笔记·python·学习·学习方法·ai编程·markdown
我送炭你添花1 小时前
Pelco KBD300A 模拟器:06+2.Pelco KBD300A 模拟器项目重构指南
python·重构·自动化·运维开发
Swizard1 小时前
别再只会算直线距离了!用“马氏距离”揪出那个伪装的数据“卧底”
python·算法·ai
站大爷IP1 小时前
Python函数与模块化编程:局部变量与全局变量的深度解析
python
我命由我123452 小时前
Python Flask 开发问题:ImportError: cannot import name ‘Markup‘ from ‘flask‘
开发语言·后端·python·学习·flask·学习方法·python3.11