绘制正五边形-第11届蓝桥杯选拔赛Python真题精选

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

绘制正五边形,本题是2020年1月12日举办的第11届蓝桥杯青少组Python编程选拔赛真题,题目要求使用turtle绘制一个旋转的正五边形。

先来看看题目的要求吧。

一.题目说明

编程实现:

使用turtle绘制如图形状。

图片

具体要求:

1). 绘制一个正五边形及其旋转产生的复杂图形;

2). 正五边形每条边长为50且边的颜色为蓝色;

3). 绘制八个大小相同画笔颜色相同的正五边形;

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

评判标准:

下列各评分项单独计分,得分累加,共30个计分点。

  • 6分:正确绘制出一个正五边形,能看到绘制过程,绘制位置不作要求;

  • 9分:正确绘制出两个及以上的正五边形,且正五边形之间相互重叠,画笔颜色为蓝色;

  • 9分:正确面出八个正五边形且均勻分布重登,每两个重叠角度大小相同;

  • 6分:完全符合题意且能看到绘制过程,画笔隐藏。

二.思路分析

这是一道海龟画图题题,考查的知识点主要包括循环和turtle的基本用法。

我们可以使用计算思维将本题拆分两个小问题:

  • 绘制一个正五边形

  • 绘制8个正五边形

关于正多边形的绘制,在前面的《绘制彩色正多边形-第11届蓝桥杯选拔赛Python真题精选》这篇教程中做过详细介绍。

绘制正多边形的核心是万能公式,如下:

图片

对于正五边形来说,其边数为5,所以要绘制5条线段,对应的旋转角度是360 / 5 = 72度,此处需要注意的是到底是左转还是右转呢?

这需要结合海龟的初始方向来考虑,小海龟初始方向默认为右,结合上面的效果图,应该是左转72度。

一旦绘制好一个正五边形,我们可以将正五边形当作是一个整体。如果将其看做是一条边的话,问题可以简化为绘制一个正八边形了,可以再次使用万能公式,每绘制好一个正五边形,再旋转360 / 8 = 45度,重复执行8次即可,至于旋转方向嘛,左转和右转都是可以的。

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

三.编程实现

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

图片

代码比较简单,每一行都有详细的注释,这里就不再赘述了,运行程序,效果如下:

图片

至此,整个程序就全部完成了,一个完美的旋转正多边形就画好了。

四.总结与思考

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

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

  • 嵌套循环;

  • turtle的基本使用;

题目难度一般,关键是要熟练运用万能公式来绘制正多边形,尤其是万能公式的二次运用。

当然,万能公式的本质还是数学,由此可见数学的重要性,有了良好的数学思维,编程就会变得非常轻松了。

除此之外,我们还需要反复练习将复杂问题拆分成简单问题的思维和方法,一旦你掌握了这个技巧,你就不会惧怕各种问题了。 

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

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

需要源码的,可以移步至“超平的编程课”gzh。

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值