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

news2025/1/27 13:04:57

[导读]:超平老师的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坐标系的方向;

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1268014.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于ssm亚盛汽车配件销售业绩管理系统

摘 要 如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让亚盛汽车配件销售信息的管理模式进行升级,也为了更好的维护亚盛汽车配件销售信息,亚盛汽车配件销售业绩管理系统的开…

牛客 算法题 【HJ102 字符统计】 golang实现

题目 HJ102 字符统计 golang代码实现 package mainimport ("bufio""fmt""os""sort" )func main() {// str_arry :make([]string, 0)str_map : make(map[rune]int)result_map : make(map[int][]string)scanner : bufio.NewScanner(os…

Python函数定义、函数调用详解

函数是 Python 程序的重要组成单位,一个 Python 程序可以由很多个函数组成。前面我们己经用过大量函数,如 len()、max() 等,使用函数是真正开始编程的第一步。 比如在程序中定义了一段代码,这段代码用于实现一个特定的功能。问题来…

注册Zoho Mail邮箱:优势与使用体验

如何注册Zoho Mail邮箱?要注册Zoho Mail邮箱,首先打开浏览器,访问Zoho Mail官网,点击页面右上角的“创建帐户”按钮。接下来,按照提示输入你的姓名、生日和性别,以及一个有效的手机号码或电子邮件地址。然后…

数据库管理-第118期 记一次开启附加日志导致的性能问题(202301129)

数据库管理-第118期 记一次开启附加日志导致的性能问题(202301129) 本周二凌晨,为了配合某国产数据库从Oracle数据库能够实时同步数据,在X9M那套一体机上做了开启附加日志的操作,也正是因为这个操作带来了一些小问题。…

构建现代Web应用:5个基本的前端架构原则

本文翻译自 Building modern Web Applications: 5 Essential Frontend Architecture Principles,作者:Patrick Roos, 略有删改。 在这篇文章中,我提出了构建现代前端的五个架构原则。我第一次听到这些原则是在Natalia Venditto的一…

NTT 的各类优化:Harvey、PtNTT,Intel AVX2、ARM Neon、GPGPU

参考文献: [Har14] Harvey D. Faster arithmetic for number-theoretic transforms[J]. Journal of Symbolic Computation, 2014, 60: 113-119.[Sei18] Seiler G. Faster AVX2 optimized NTT multiplication for Ring-LWE lattice cryptography[J]. Cryptology ePr…

QDoubleSpinBox的使用示例

QDoubleSpinBox即可以做为数值型输入框使用,也可以使用只读型数据显示框,在作为输入框使用时比QLineEdit有以下几个方面的优势 1.可以设置范围,并且范围精确, 2.输入数据精确,自动屏幕非数值以外的字符。 3.设置步长后…

【LeetCode刷题】--77.组合

77.组合 class Solution {public List<List<Integer>> combine(int n, int k) {List<List<Integer>> ans new ArrayList<>();if( k < 0 || n < k){return ans;}Deque<Integer> list new ArrayDeque<>();dfs(ans,list,n,k,1)…

Panorama SCADA平台助力智能建筑管理,掌控未来建筑!

来源&#xff1a;宏集科技 工业物联网 宏集方案 Panorama SCADA平台助力智能建筑管理&#xff0c;掌控未来建筑&#xff01; 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 前言 在现代智能建筑管理中&#xff0c;随着设施管理&#xff08;FM&#xff09;、建筑管理…

05_MySQL主从复制架构

任务背景 ##一、真实案例 某同学刚入职公司&#xff0c;在熟悉公司业务环境的时候&#xff0c;发现他们的数据库架构是一主两从&#xff0c;但是两台从数据库和主库不同步。询问得知&#xff0c;已经好几个月不同步了&#xff0c;但是每天会全库备份主服务器上的数据到从服务…

Hadoop数据仓库平台搭建

在这里是学习大数据的第一站 什么是数据仓库常见大数据平台组件及介绍 什么是数据仓库 在计算领域&#xff0c;数据仓库&#xff08;DW 或 DWH&#xff09;也称为企业数据仓库&#xff08;EDW&#xff09;&#xff0c;是一种用于报告和数据分析的系统&#xff0c;被认为是商业智…

Mysql安全之基础合规

一、背景 某次某平台进行安全性符合型评估时&#xff0c;列出了数据库相关安全选项&#xff0c;本文特对此记录&#xff0c;以供备忘参考。 二、安全配置 2.1、数据库系统登录时的用户进行身份标识和鉴别&#xff1b; 1&#xff09;对登录Mysql系统用户的密码复杂度是否有要…

智能优化算法应用:基于鸟群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鸟群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鸟群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鸟群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

创建Asp.net MVC项目实现视图页面数据传值显示

MVC中视图传值 ViewData ViewBag TempData 举例创建三中传值方式实现页面数据展示 MVC中视图传值 Asp.net MVC中Controller向View传值有多种方式,这里简单说一下其中3种方式 ViewData、ViewBag和TempData ViewData ViewData存储数据&#xff0c;ViewData的声明和赋值方…

BGP笔记全

自治系统---AS 定义&#xff1a;由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合。 AS划分的原因 如果整张网络很大&#xff0c;路由数量进一步增加&#xff0c;路由表规模变得太大&#xff0c;会导致路由收敛速度变慢&#xff0c;设备性能消耗加大&#…

C++11——initializer_list

initializer_list的简介 initializer_list是C11新出的一个类型&#xff0c;正如类型的简介所说&#xff0c;initializer_list一般用于作为构造函数的参数&#xff0c;来让我们更方便赋值 但是光看这些&#xff0c;我们还是不知道initializer_list到底是个什么类型&#xff0c;…

【小聆送书第一期】让架构师的成神之路温暖你这个不景气的冬天

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言 书籍一览 ⛳️书籍一⛳️书籍二⛳️书籍三⛳️书籍四⛳️书籍五⛳️书籍六⛳️书…

Git和Git小乌龟安装

目录 Git简介 Git安装 Git小乌龟简介 Git小乌龟安装 Git简介 Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地进行从很小到非常大的项目的版本管理。它最初是由Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git具有速度、…

LeetCode(42)有效的字母异位词【哈希表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 有效的字母异位词 1.题目 给定两个字符串 *s* 和 *t* &#xff0c;编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 **注意&#xff1a;**若 *s* 和 *t* 中每个字符出现的次数都相同&#xff0c;则称 *s* 和 *t* 互为字…