第9届Python编程挑战赛初中组初赛真题剖析-2023年全国青少年信息素养大赛

news2024/11/16 2:30:55

 [导读]:超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲,这是超平老师解读Python编程挑战赛系列的第13讲。

全国青少年信息素养大赛(原全国青少年电子信息智能创新大赛)是“世界机器人大会青少年机器人设计与信息素养大赛”赛事之一,由中国电子学会主办,包含很多赛项,大赛自2013年举办,已连续成功举办八届,已正式入围“2022-2025学年面向中小学生的全国性竞赛活动名单”。

大赛旨在激发广大青少年的科学兴趣和想象力,培养钻研探究、创新创造的科学精神和实践能力,促进青少年科技创新活动的广泛开展,发现和培养一批具有科研潜质和创新精神的青少年科技创新后备人才。

大赛主要竞赛类别包括电子科技、智能机器人、软件编程三类,全国青少年Python编程挑战赛就属于其中的软件编程类。

一.赛事说明

2023年(第9届)Python挑战赛赛程分为初赛、复赛和总决赛三个阶段。初赛是资格赛,复赛是地方选拔赛,总决赛是全国各地选拔的精英汇聚在一起进行PK。

本届Python挑战赛是在线上举行,参赛选手登录大赛官网在指定页面完成答题并提交答案。评定成绩的依据是同时考虑得分和用时两个方面,首先是得分高者名次靠前,如果得分一样,则用时少者名次靠前。

二试题说明

2023年Python编程挑战赛初赛于2023年6月3日正式拉开序幕,初赛采取的是线上考试。本次分享的是华北赛区初中组真题,题型为单选题,一共20道题目,每题5分,总分100分,限时60分钟完成。

由于系统是随机出题,超平老师不保证每个同学做的题目都和下面列出来的一致,但这些题目都是真题。

三.真题解析

第1题

质数是指只能被1和自身整除的正整数。例如,2、3、5、7、11、13等都是质数,而4、6、8、9、10等都不是质数,下方的代码可以判断数字47是否为素数,则下划线处应填什么代码?(    )

图片

A. num % i != 0

B. num % 2 != 0 and num % 3 != 0

C. num % i == 0

D. num % 2 == 0

[超平老师解读]:

本题的正确答案是C,考查的知识点是取模运算。

很显然,如果num能被2~46之间的任何一个数整除,那就说明num不是质数。所以,这里需要判断num除以i的余数是否为0,这就是取模运算。

同时需要注意这里的for...else语句,它是Python独有的一种语法,格式如下:

图片

当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

超平老师认为题目给出的代码是有一点小问题的,根据上面for...else的语法规则,else语句总是会被执行的。

当然,由于num = 47,它是质数,所以不会输出“不是质数”,如果把num换成非质数,比如48,则会输出多行“不是质数”,最后再输出“是质数”。

比较严谨的写法是在if语句下面,增加一个break语句,如下:

图片


第2题

下列哪个选项可以正确导入海龟库?(    )

A. from random import *

B. from turtle import *

C. from turtle

D. from time import *

[超平老师解读]:

本题的正确答案是B,考查的知识点是海龟库的导入方法。

首先,在Python中,海龟库的名字是turtle,所以A和D就可以直接排除了。

其次,在Python中,导入库的方式通常有如下两种:

图片

所以正确的选项是B。


第3题

运行下方代码,输出的数字有?(    )

图片

A. 0 1 2 3 4

B. 1 2 3 4 5

C. 0 1 2 3

D. 2 3 4 5

[超平老师解读]:

本题的正确答案是C,考查的知识点range函数。

在Python3中,range()函数返回的是一个可迭代对象,语法如下:

图片

三个参数说明如下:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0, 1, 2, 3, 4]没有5;

  • step:步长,默认为1,例如:range(0, 5) 等价于 range(0, 5, 1)。

所以,使用range(6)时,i的取值分别是0、1、2、3、4、5,然后经过if语句过滤,输出的就只有0、1、2、3了。

关于range(n)的范围,超平老师有一个简单的记忆方法,这就是虎头蛇尾,或者是有头无尾,就是包含start,但是不包含stop,是不是还挺方便的呢。


第4题

下列关于Python中条件判断的说法,正确的是?(    )

A. if-else结构是不能嵌套的

B. if 1 == 2:的条件必然不成立

C. 在程序中,有if就必须有else

D. if语句中的条件可以不写

[超平老师解读]:

本题的正确答案是B,考查的知识点是if语句。

在Python编程中,有3种if语句,分别是单分支if语句,双分支if...else语句和多分支if...elif...else语句。

同时,针对3种if语句,还可以进行嵌套,但是不管是哪种if语句,条件是必不可少的。因此,四个选项中,A、C和D的说法都是错误的。

B选项中,1 == 2显然是不成立的,所有正确选项是B。


第5题

运行下方代码,输入9和6,输出结果为?(    )

图片

A. 20

B. 无输出

C. leave

D. go

[超平老师解读]:

本题的正确答案是C,考查的知识点是if...else语句。

代码非常简单,输入的数字字符9和6,转换成整型,所以 a = 9,b = 6,a + b = 15,由于15 > 20不成立,所以执行else语句部分,输出“leave”。


第6题

下列不是Python中的关键字的是?(    )

A. for

B. if

C. and

D. range

[超平老师解读]:

本题的正确答案是D,考查的知识点是关键字。

Python关键字(或称保留字)指的是 Python 语言中一些已经被赋予特定意义的单词。

上面4个选项中的for、if和and都是关键字,但是range它是Python内置的函数,不属于关键字。


第7题

运行下列程序后,输出的结果为?(    )

图片

A. ['夏', '冬']

B. ['春', '冬']

C. ['秋', '冬']

D. ['春', '夏']

[超平老师解读]:

本题的正确答案是C,考查的知识点是列表的remove方法。

在Python编程中,remove方法用于删除列表中某个值的第一个匹配项。在上面的代码中,第一次删除的是第一项“春”,删除之后列表就变成了["夏","秋","冬"],第二次删除的还是第一项“夏”,因此列表就变成了["秋","冬"]。


第8题

已知程序的输出结果为12,则下划线处应填什么?(    )

图片

A. 2

B. 4

C. 5

D. 3

[超平老师解读]:

本题的正确答案是D,考查的知识点是range函数。

num的初始值是3,循环的作用是每次将num增加3,最终的num值为12,说明循环执行了3次,对于range函数而言,默认从0开始,执行3次,到3结束,所以应该填3。


第9题

根据Python变量的命名规则,下列不可以作为变量名的是?(    )

A. ab6

B. ba6

C. 6ab

D. a6b

[超平老师解读]:

本题的正确答案是C,考查的知识点是变量的命名规则。

在Python中,变量命名规则一般有如下3条:

  • 由字母、数字和下划线构成;

  • 不能以数字开头;

  • 不能与关键字重名

根据上面的规则,C选项中的6ab是不能作为变量名的。

实际上,在Python3中,变量名使用中文也是可以的,但不建议。另外,需要注意的是,Python严格区分大小写,千万不要搞混了。


第10题

运行下方代码,输出的结果是?(    )

图片

A. ['在人间','我的大学','简爱']

B. ['童年','我的大学','简爱']

C. ['童年','在人间','我的大学']

D. ['童年','在人间','我的大学','简爱']

[超平老师解读]:

本题的正确答案是B,考查的知识点是列表操作。

在Python中,remove方法用于删除列表中某个值的第一个匹配项,append方法用于在列表末尾添加新的列表项。

执行book.remove("在人间")代码后,列表变为了["童年","我的大学"],再执行book.append("简爱")代码,列表则变成了 ['童年','我的大学','简爱']。


第11题

运行下列程序,输出的结果为?(    )

图片

A. 12

B. 8

C. go

D. 4

[超平老师解读]:

本题的正确答案是D,考查的知识点是if...else语句的嵌套用法。

a = "4",b = "8",很显然 a == b不成立,于是执行else分支,将a和b转成整数。a = 4,b = 8,由于a > b 不成立,所以执行的仍然是else分支,a = b - a,因此 a = 8 - 4 = 4。


第12题

下列代码的执行结果是?(    )

图片

A. 3

B. 7

C. 9

D. 5

[超平老师解读]:

本题的正确答案是D,考查的知识点是算术运算符。

在Python编程中,当一个表达式中同时出现多个算术运算符时,先执行*、/和%运算,然后再执行+、-运算,因为*、/和%的优先级高于+和-。

所以,在上面的语句中,先计算乘法,然后再计算加法,即 c = 3 + 1 * 2 = 3 + 2 = 5。


第13题

执行 from this import * 后,结果为?(    )

A. 输出导库成功

B. 程序报错

C. 无输出结果

D. 输出一段话

[超平老师解读]:

本题的正确答案是D,考查的知识点是this模块。

在Python编程中,导入this模块,会输出如下一段内容:

图片

this模块是Python之父吉多·范罗苏姆为Python3写的一个隐藏彩蛋,它展示了Python之禅的原则和格言。

虽然this模块不提供直接的功能或方法,但可以通过访问它的属性来获取其中的信息。

使用this.s可以拿到Python之禅的完整文本(密文)。这段文本经过凯撒密码加密,所以犹如乱码一般。

而使用this.d拿到用于存储恺撒密码的解密映射关系的字典。

你可以尝试一下,还是挺有意思的呢。


第14题

比例是数学术语,在数学中,如果一个变量的变化总伴随着另一个变量的变化,则两个变量是呈比例的,比如正方形的长怎么变化,其宽永远和长保持一致,即正方形长宽比永远为1:1,在下方代码中,w为某个长方形的宽,h为长方形的长,在长宽比变的情况下,将长修改为原来的五分之一,则宽应该表示为?(    )

图片

A. w1 * (w / h)

B. w * (h / w)

C. w1 * (h / w)

D. h / 5

[超平老师解读]:

本题的正确答案是C,考查的知识点是数学。

根据数学知识,要保持比例不变,即 w / h = w1 / h1,所以w * h1 = w1 * h,因此h1 = w1 * (h / w) 。

从题目给出的答案来看,D选项也是可以的,所以,这道题选C和D都不能算错。

但是,如果从程序的可扩展性方面来考虑的话,C选项无疑是更好的选择。


第15题

关于 for i in range(6):中i的描述,下列说法正确的是?(    )

A. i是一个变量,其变量名不可以更改

B. 在进入第三次循环时,i的值为2

C. i是一个变量,其值永远为6

D. i是一个变量,其取值范围在0~6

[超平老师解读]:

本题的正确答案是B,考查的知识点for...in语句。

在Python编程中,for...in是典型的计数循环,其中i是计数器变量,名称可以随意指定,比如i、j、k等。

在for i in range(6)语句中,计数器变量i的值从0开始,每循环一次,就增加1,一共循环6次,其值分别为0、1、2、3、4、5,循环结束时i的值为5。

所以B选项是正确的,其它3个选项都是错误的。


第16题

运行下方代码,输入52,输出结果为?(    )

图片

A. 中层建筑

B. 52

C. 高层建筑

D. 超高层建筑

[超平老师解读]:

本题的正确答案是C,考查的知识点是多分支语句。

在Python中,if...elif...else是多分支语句结构,在上面的代码中,输入的height值是52,第一个if条件 height > 100,不成立,所以继续执行elif语句,继续判断条件 height > 50,条件成立,所以执行 pirnt("高层建筑") 语句。


第17题

运行下列代码,输出的结果是?(    )

图片

A. 5

B. 6

C. 4

D. 3

[超平老师解读]:

本题的正确答案是D,考查的知识点是len函数。

在Python中,len函数用于获取对象(字符、列表、元组等)长度或项目个数。cartoon列表包含3个列表数据,所以其长度为3。


第18题

已知程序已导入了随机库和海龟库,则关于下方代码的描述正确的是?(    )

图片

A. 执行代码,海龟可能前进了120

B. 执行代码,海龟前进的距离不可能超过110

C. 执行代码,海龟可能前进了50

D. 执行代码,海龟会后退

[超平老师解读]:

本题的正确答案是B,考查的知识点包括海龟画图和随机数。

randint(90,110)方法会生成一个90~110之间的整数,包含90和110。forward方法则表示小海龟前进指定的像素。

综上所述,只有B选项是正确的。


第19题

下列选项不能输出三行你好的是?(    )

A. 

图片

B. 

图片

C. 

图片

D. 

图片

[超平老师解读]:

本题的正确答案是D,考查的知识点包括循环和print函数。

在Python中,print()函数默认是换行的,输出指定内容后,会自动切换到下一行。很显然,D选项中的三个你好是在同一行输出的,其它3个选项都是输出3行你好。


第20题

下列代码的运行结果为?(    )

图片

A. 洛奇

B. 教父

C. 大鱼

D. movie[2]

[超平老师解读]:

本题的正确答案是A,考查的知识点是列表操作。

在Python编程中,列表元素可以通过下标来访问,在执行movie[2] = "洛奇"代码后,movie列表的值变为了["雨人", "洛奇", "教父"],这是一个更新操作。

四.总结与思考

本次初赛一共20道选择题,题目相对比较简单,考查的知识点包括如下几个方面:

  • Python基本语法,包括缩进规则、变量命名等;

  • 输入和输出;

  • 常见库的导入及使用,包括turtle、random等;

  • 循环结构,包括for循环和while循环;

  • 选择结构,包括if、if...else、if...elif...else语句等;

  • range()函数的使用;

  • 列表的常见操作、包括插入、删除、更新和获取长度等;

从知识点的分布情况来看,主要还是考查学生对Python基础知识的掌握情况,这也是每一个孩子学习编程时要掌握的基本功。

初赛还没有涉及到复杂的逻辑和算法题目,对于基础扎实的孩子来说,只要仔细看题,认真作答,拿90分以上还是挺容易的。

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

查看更多教程,请移步至“超平的编程课”gzh。

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

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

相关文章

PyCharm安装pip依赖,如何添加国内镜像源?

目录 前言 PyCharm如何安装依赖 PyCharm如何配置国内镜像源 前言 首先我们都知道,使用pip安装依赖的方式,却很少有人知道使用PyCharm如何安装依赖。 PyCharm如何安装依赖 但你会发现,基本都是安装失败的,因为你是去外网下载的…

左神算法之中级提升班(8)

目录 【案例1】 【题目描述】 【思路解析】 【代码实现】 【案例2】 【题目描述】 【思路解析】 【代码实现】 【案例3】 【题目描述】 【思路解析】 【案例4】 【题目描述】 【思路解析】 【代码实现】 【案例5】 【题目描述】 【子序列概念】 【思路解析1 经典…

CTF-MISC:BUUCTF练习汇总(持续更新)

CTF-MISC:BUUCTF练习汇总 1、金三胖2、你竟然赶我走3、二维码4、大白 1、金三胖 解题思路: flag隐藏在gif图片帧中,使用在线GIF拆分工具即可 在线GIF图片帧拆分工具:https://uutool.cn/gif2img/ flag为:flag{he11oho…

应用层协议——https

文章目录 1. HTTPS 是什么2. 什么是"加密"3. 常见的加密方式4. 数据摘要 && 数字签名5. HTTPS 的工作过程探究5.1 方案1 - 只使用对称加密5.2 方案2 - 只使用非对称加密5.3 方案3 - 双方都使用非对称加密5.4 方案4 - 非对称加密 对称加密5.5 中间人攻击5.6 …

【MTI 6.S081 Lab】locks

【MTI 6.S081 Lab】locks Memory allocator (moderate)实验任务Hint解决方案 Buffer cache (hard)实验任务Hint解决方案数据结构设计初始化数据结构getrelse 本实验前去看《操作系统导论》第29章基于锁的并发数据结构,将会是很有帮助的。 在这个实验室中&#xff0…

懒得改变原始对象?JavaScript代理模式教你怎样一步步偷懒!

前言 系列首发gong zhong hao[『非同质前端札记』] ,若不想错过更多精彩内容,请“星标”一下,敬请关注gong zhong hao最新消息。 懒得改变原始对象?JavaScript代理模式教你怎样一步步偷懒! 何为代理模式 例如&#x…

倍增与ST算法

倍增与ST算法 倍增倍增原理倍增法的局限例题 :国旗计划 (洛谷 P4155)例题题解带注释的代码 ST算法ST算法原理ST算法步骤ST算法应用场合例题 :【模板】ST表 (洛谷 P3865) 倍增 倍增原理 倍增法的局限 例题 :国旗计划 (洛谷 P4155) 例题题解 带…

华为OD机试真题 Java 实现【报文回路】【2023 B卷 100分】,俗称“礼尚往来”

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路1、报文回路2、异常情况:3、解题思路 五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA&…

《JavaSE-第二十章》之线程的创建与Thread类

文章目录 什么是进程?什么是线程?为什么需要线程? 基本的线程机制创建线程1.实现 Runnable 接口2.继承 Thread 类3.其他变形 Thread常见构造方法1. Thread()2. Thread(Runnable target)3. Thread(String name)4. Thread(Runnable target, Str…

epoll复用

cli #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h>// 服务器ip #define IP "192.168.250.100" // 服务器端口 #define PORT 8888int main…

c++11 标准模板(STL)(std::basic_ifstream)(一)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ifstream : public std::basic_istream<CharT, Traits> 类模板 basic_ifstream 实现文件流上的高层输入操作。它将 std::basic_istream…

Flink - souce算子

水善利万物而不争&#xff0c;处众人之所恶&#xff0c;故几于道&#x1f4a6; 目录 1. 从Java的集合中读取数据 2. 从本地文件中读取数据 3. 从HDFS中读取数据 4. 从Socket中读取数据 5. 从Kafka中读取数据 6. 自定义Source 官方文档 - Flink1.13 1. 从Java的集合中读取数据 …

二叉树(C语言)

文章目录 1.树1.1概念1.2相关定义1.3 表示&#xff08;左孩子右兄弟&#xff09; 2.二叉树2.1概念2.2特殊的二叉树1. 满二叉树&#xff1a;2. 完全二叉树&#xff1a; 2.3二叉树的性质2.4练习 3.二叉树的存储结构1. 顺序存储2. 链式存储 4.完全二叉树的代码实现4.1堆的介绍1.堆…

ssm德宏贸易项目java人资企业办公jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 ssm德宏贸易项目 系统有1权限&#xff1a;管理员 二…

接口自动化测试平台

下载了大神的EasyTest项目demo修改了下<https://testerhome.com/topics/12648 原地址>。也有看另一位大神的HttpRunnerManager<https://github.com/HttpRunner/HttpRunnerManager 原地址>&#xff0c;由于水平有限&#xff0c;感觉有点复杂~~~ 【整整200集】超超超…

查询结果元数据-MetaData对象、数据库工具类的封装、通过反射实现数据查询的封装

六、查询结果元数据-MetaData对象 七、数据库工具类的封装 1、PropertieUtil类 2、DbUtil类 3、DBHepler类 查询&#xff1a; 4、TestDb测试类&#xff1a; 更新&#xff1a; 1&#xff09;插入&#xff1a; 2&#xff09;修改&#xff1a; 3&#xff09;删除&#xff1a; 查…

2024考研408-计算机网络 第二章-物理层学习笔记

文章目录 前言一、通信基础1.1、物理层基本概念1.1.1、认识物理层1.1.2、认识物理层的四种接口特性 1.2、数据通信基础知识1.2.1、典型的数据通信模型及相关术语1.2.2、数据通信相关术语1.2.3、设计数据通信系统要考虑的三个问题&#xff1a;问题1&#xff1a;采用单工通信/半双…

通讯录的实现(超详细)——C语言(进阶)

目录 一、创建联系人信息&#xff08;结构体&#xff09; 二、创建通讯录&#xff08;结构体&#xff09; 三、define定义常量 四、打印通讯录菜单 五、枚举菜单选项 六、初始化通讯录 七、实现通讯的的功能 7.1 增加加联系人 7.2 显示所有联系人的信息 ​7.3 单独查…

【自动化运维】Ansible常见模块的运用

目录 一、Ansible简介二、Ansible安装部署2.1环境准备 三、ansible 命令行模块3.1&#xff0e;command 模块3.2&#xff0e;shell 模块3.3&#xff0e;cron 模块3.4&#xff0e;user 模块3.5&#xff0e;group 模块3.6&#xff0e;copy 模块3.7&#xff0e;file 模块8&#xff…

C++之观察者模式(发布-订阅)

目录 模式简介 介绍 优点 缺点 代码实现 场景说明 实现代码 运行结果 模式简介 观察者模式&#xff08;Observer Pattern&#xff09;&#xff0c;也叫我们熟知的发布-订阅模式。 它是一种行为型模式。 介绍 观察者模式主要关注的是对象的一对多的关系&#xff0c; …