绘制折扇-第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坐标系的方向; 题目难度一般,关键在于如何使用最简单的方法快速编写代码。这就要求考生能够找出图形的特点和规律,使用最少的代码绘制好折扇。 超平老师给你留一道思考题,本题我们沿着顺时针方向画了一把黑色的折扇,能否逆时针方向将折扇擦掉呢,你知道怎么实现吗,赶紧动手试试吧。 你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。 如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄 需要源码的,可以私信本人。

相关推荐
郭庆汝5 小时前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
思则变8 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络9 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find10 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
博观而约取11 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector13 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习13 小时前
Python入门Day2
开发语言·python
Vertira13 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉13 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗13 小时前
黑马python(二十四)
开发语言·python