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

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python**蓝桥杯真题解析100讲》,**这是解读系列的第11讲。

**绘制折扇,**本题是2019年~2020年举办的第11届蓝桥杯青少组Python编程选拔赛真题(具体日期不详),题目要求以坐标点(0,0)为起始点绘制一把扇子,扇面和扇把都是三分之一的圆,扇面的半径为150,扇把的半径为30。

先来看看题目的要求吧。

一.题目说明

编程实现:

以坐标点(0,0)为起始点绘制一把扇子。

扇面和扇把都是三分之一的圆,扇面的半径为150,扇把的半径为30,如图1所示:

绘制要求:

1). 背景为白色,面笔为黑色,线宽 1,扇子张角为 120度;

2). 坐标点(0,0)为构成扇子的所有线段的相交点;

3). 绘图过程中隐藏画笔,并能清楚地看到扇子绘制过程。

评判标准:

  • 30分:能够绘制出张角为120度的扇面或扇把,不论是否满足其它要求;

  • 50分:扇子张角、大小、线宽、背景、位置和方向均完全符合题目要求。

二.思路分析

这是一道海龟画图题,考察的知识点是Turtle的熟练运用。

这里的折扇,由扇面和扇把两部分组成,通常的做法就是分别绘制扇面和扇把,这当然是没有问题的。

但实际上,还有更简单的办法,不知道你发现了没,就是同时绘制扇面和扇把。

如果将实心圆看成是由360条直线构成的图形,那么这里的折扇则是由120条直线构成。

所不同的是旋转点不一样,对于圆而言,旋转点在直线的中间位置,对于折扇而言,旋转点在靠近扇把的一端。

所以,我们只需要控制好旋转点就可以一次性画出扇面和扇把了。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们编写代码如下:

代码不难理解,简单说明3点:

1). 小海龟的方向,默认为0,面向右方,其方向如图所示,所以需要将起始方向设置为120度;

2). 需要按照题目要求计算好每一步前进或后退的数值,同时要确保在旋转点(0,0)处右转;

3). 由于每次右转1度,所以一共循环了120次,也可以做相应的修改,比如每次右转2度,这样就需要循环60次。

运行程序,效果如图:

至此,整个程序就全部完成了,一把简单的折扇就画好了。

四.总结与思考

本题的分数为50分,代码在10行左右,涉及到的知识点包括:

  • 循环语句,主要是for...in循环;

  • 海龟画图的熟练运用;

  • Turtle坐标系的方向;

题目难度一般,关键在于如何使用最简单的方法快速编写代码。这就要求考生能够找出图形的特点和规律,使用最少的代码绘制好折扇。

超平老师给你留一道思考题,本题我们沿着顺时针方向画了一把黑色的折扇,能否逆时针方向将折扇擦掉呢,你知道怎么实现吗,赶紧动手试试吧。

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要源码的,可以私信本人。

相关推荐
蒙娜丽宁9 分钟前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev11 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
好喜欢吃红柚子24 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python29 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯38 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
千天夜1 小时前
使用UDP协议传输视频流!(分片、缓存)
python·网络协议·udp·视频流
测试界的酸菜鱼1 小时前
Python 大数据展示屏实例
大数据·开发语言·python
羊小猪~~1 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
放飞自我的Coder1 小时前
【python ROUGE BLEU jiaba.cut NLP常用的指标计算】
python·自然语言处理·bleu·rouge·jieba分词
正义的彬彬侠2 小时前
【scikit-learn 1.2版本后】sklearn.datasets中load_boston报错 使用 fetch_openml 函数来加载波士顿房价
python·机器学习·sklearn