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

绘制折扇-第11届蓝桥杯选拔赛Python真题精选_第1张图片

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

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

先来看看题目的要求吧。

一.题目说明

编程实现:

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

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

绘制折扇-第11届蓝桥杯选拔赛Python真题精选_第2张图片

绘制要求:

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

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

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

评判标准:

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

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

二.思路分析

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

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

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

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

绘制折扇-第11届蓝桥杯选拔赛Python真题精选_第3张图片

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

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

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

三.编程实现

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

绘制折扇-第11届蓝桥杯选拔赛Python真题精选_第4张图片

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

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

绘制折扇-第11届蓝桥杯选拔赛Python真题精选_第5张图片

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

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

运行程序,效果如图:

绘制折扇-第11届蓝桥杯选拔赛Python真题精选_第6张图片

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

四.总结与思考

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

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

  • 海龟画图的熟练运用;

  • Turtle坐标系的方向;

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

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

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

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

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

你可能感兴趣的:(蓝桥杯,python,STEMA测评,少儿编程竞赛)