2026 星火征途Python【小高组】初赛 模拟卷 04
1.
在黄崖洞兵工厂,八路军的火炮专家“神炮手”赵章成在计算迫击炮弹道和装药量时,需要计算一个数值的“算术平方根”。在 Python 语言的标准数学库math中,能够帮他执行开平方运算的指令函数是?( )
(5分)
A. sqrt
B. max
C. min
D. print
2.
地下交通站截获了一份日伪军企图在城内大规模囤积的战略物资清单:s = '大米、面粉、食盐、火柴'。为了让游击队能分项对这些物资进行拦截,站长利用汉字顿号“、”作为切割符,把它拆成独立的补项目标:l = s.split('、')。执行完这道代码后,计算机终端打印出的列表会是什么样子?( )
pythons = '大米、面粉、食盐、火柴'l = s.split('、')print(l) |
(5分)
A. ['大米', '面粉', '食盐', '火柴']
B. ['大米、面粉、食盐、火柴']
C. ('大米', '面粉', '食盐', '火柴')
D. ('大米、面粉、食盐、火柴')
3.
在平津战役前夕,地下党同志获取了城防司令部保险柜的机密情报,但遇上了三位转盘密码锁。时间紧迫,技术员决定让计算机程序从 000 开始一直试到 999,绝不遗漏地去进行验证开锁。这种把所有可能的情况都被罗列出来逐一排查的算法思想,在代码世界里通常被称为?( )
(5分)
A. 枚举算法
B. 解析算法
C. 排序算法
D. 对分查找算法
4.
抗美援朝时期,志愿军司令部使用密码代号来指代各军的兵力部署人数,例如:army = {"雷霆": 1, "破锋": 2, "尖刀": 3}。作战参谋想要提取并确认“破锋”这支部队所对应的实际编制数字,下达了指令print(army["破锋"])。这行代码的输出结果会是什么?( )
pythonarmy = {"雷霆": 1, "破锋": 2, "尖刀": 3}print(army["破锋"]) |
(5分)
A. 3
B. 破锋
C. 2
D. 1
5.
在抗日军政大学(抗大)的战术推演课上,教员用红军的游击战术来比喻 Python 里的循环控制指令:如果说for是拉网式的地毯式侦察,那么break就相当于遇到了不可战胜的强敌,必须立刻跳出并“结束整个任务”;而continue则像是发现这片阵地没有敌人,直接“跳过当前这一步”,继续排查下一个地点。基于这种逻辑,关于循环特性的描述,哪一项是绝对正确的?( )
(5分)
A. break这个跳出指令只能用于for循环之中
B. continue这条语句会结束整部代码所有的未来循环计划
C. for循环能够用来顺次遍历任何可供迭代的名册或对象结构
D. while循环每一次都必须依靠内置的break才能停下来
6.
百团大战期间,晋察冀军区的工程兵需要在正太铁路沿线的桥头堡布置梯次防御阵地。指挥部下达指令,要求开辟一个从编号 1 开始、囊括到编号 4 为止的阵地编队。在 Python 终端里执行print(list(range(1, 5)))后,地图上实际划定出来的连贯序列应该显示为?( )
pythonprint(list(range(1, 5))) |
(5分)
A. [1, 2, 3, 4]
B. [1, 2, 3, 4, 5]
C. 1, 2, 3, 4
D. 1, 2, 3, 4, 5
7.
抗战期间,新四军情报科内线传来一条密报:明天将有一辆日军高官的黑色轿车出城,车牌号有三个特征:一是三位数字;二是它是 3 的倍数;三是各个位上的数字加起来恰好是 8 的倍数。为了快速锁定目标,情报员便编写了一段代码,让程序从 100 逐一遍历到 999 并在循环中把所有可能的车牌号逐个进行条件排查验证。这种最直接、绝不漏掉任何一个可能性的排查算法叫做?( )
(5分)
A. 解析算法
B. 枚举算法
C. 排序算法
D. 对分查找法
8.
八路军的野战指挥所与各前沿防线之间,需要“通信员”不断传递具体的作战口令,这就好比 Python 里的函数调用。当主程序去呼叫一个独立的功能模块(即函数)时,会在函数名的“括号”里开设“参数”定义位。请问在编程中,这些参数变量最本质的作用是?( )
(5分)
A. 给函数内部传递由外部传入的具体作战数据以供处理
B. 去规定内部死循环的判定次数规则
C. 绝对把控该小分队往回送信的返回值大小
D. 以上都不对
9.
长征过草地时,红三军团军需官用代码记录了一个连队连续 4 天消耗的青稞面份额账本:a = [1, 2, 3, 4]。为了核查每天的配给削减情况,连长要求用以下代码,从最后一天的数据开始,按时间倒流的方式进行逆向溯源输出:
pythona = [1, 2, 3, 4]i = len(a) - 1while i >= 0:print(a[i])i -= 1 |
请问这段代码最终执行的真实效果是什么?()
(5分)
A. 把列表a完全倒叙顺次反向打印出来
B. 把列表a依旧正常的从头开始顺序打印出来
C. 抛弃掉列表第一天的原初数字后,依次打印剩下的
D. 去掉最尾巴的一项最新数据,将其余内容老旧地逐一发作出来
10.
渡江战役前夕的沙盘上,参谋本部分别标注了南岸敌军三个防御核心的警戒等级,颜色列表为colors = ["橙色警戒", "蓝色警戒", "绿色警戒"]。侦察兵游击渡江后汇报:“正中间那个蓝色的二号阵点,兵力突然增加,极度危险!”指挥部下令将列表中这个中间位置的据点改为最高级的“紫色警戒”。要想用 Python 准确实现这次定点覆盖修改,应该使用的指令是?( )
(5分)
A. colors[0] = "紫色警戒"
B. colors[1] = "紫色警戒"
C. colors[2] = "紫色警戒"
D. colors.append("紫色警戒")
11.
在中央军委二局(红军延安通讯与破译中心)的密码进修课上,教员为了演练反侦听技术,用 Python 的列表切片功能[::-1]对一串发报明文"Python"进行了倒序排版处理。当特务的机器截获并打印这段经过反向排版的代码执行结果时,纸面上显示的字母组合是什么?( )
pythons = "Python"print(s[::-1]) |
(5分)
A. "nohtyP"
B. "Python"
C. "P"
D. 报错
12.
解放战争时期,机要局收到了一条被敌军打包成一串字符的短报信号源s = 'abc'。科长为了能在电子密码本上对这些字母进行单独的打乱重排和增加,需要把这段字符串精准切割,转化为一个个独立字母构成的列表名册结构['a', 'b', 'c']。在 Python 中,能够最直接实现这种跨类型重构转换的内置函数指令是?( )
(5分)
A. str(s)
B. int(s)
C. float(s)
D. list(s)
13.
淮海战役中,华东野战军采取了极为高明的“穿插分割、化整为零、各个击破”战术,将庞大的敌方兵团切割成两部分,分别包围并消灭,最终将整个大部队全歼并完成了极其复杂的行军战术。这种军事思想如果投射到计算机领域的经典排序算法中,把一个庞大无序的数据阵列不断“一分为二、分而治之”进行排序重组的策略,最典型的代表是哪一种算法?( )
(5分)
A. 插入排序
B. 快速排序
C. 选择排序
D. 冒泡排序
14.
陕甘宁边区大生产运动期间,被服厂仓库管理员的字典账本stock上只登记了两项有限的物资储备 {"棉线": 2, "粗布": 4}。这天,边区群众捐献了一批新物资,厂长下令在这本旧账册里追加一个全新的物资品类:stock["毛巾"] = 6。执行上述增编代码后,这个字典账册最后会变成什么样?( )
pythonstock = {"棉线": 2, "粗布": 4}stock["毛巾"] = 6 |
(5分)
A. {"毛巾": 6}
B. {"棉线": 2, "粗布": 6}
C. {"棉线": 2, "粗布": 4}
D. {"棉线": 2, "粗布": 4, "毛巾": 6}
15.
在华北抗敌前线,某主力团参谋长拿到了一维数组里记录的 5 个连排一周内各自歼敌统计数量的代码卷轴arr1 = [8, 1, 14, 19, 5]。为了能用程序自动寻找出在这几个兵团里战果最大的“尖刀连”,特意编写了一段经典的“递归式分治法”代码。这段程序会把队伍不断切片成两半,然后左右分别决出最大值再层层向外对比淘汰。你能通过程序推演研判出它最终返回的最高歼敌数是多少吗?( )
pythondef dividAndConquer(arr,left,right):if (right == left + 1) or (right == left):return max(arr[left],arr[right])mid = int((left + right) / 2)leftMax = dividAndConquer(arr,left,mid)rightMax = dividAndConquer(arr,mid,right)return max(leftMax,rightMax)arr1 = [8, 1, 14, 19, 5]print(dividAndConquer(arr1,0,4)) |
(5分)
A. 1
B. 19
C. 8
D. 5
判断题(共5题)
16.
在红军无线电台的收报室里,报务员正在用一台模拟机运行for i in range(10):来循环听取 10 个频率波段的滴答声(即从0开始计数顺延)。旁边的新手问道:“这台机器顺着数字一直执行,一定会把数字 10 也读取并打印在屏幕上吧?”老兵摇摇头说:“Python 里的range()就像咱们设定的巡逻路线,包含了起点却永远不会把右侧端点囊括进执行边界里,所以它顶多跑到 9 就会自动停止。”请问老兵的纠正判断是对的吗?( )
pythonfor i in range(10):print(i) |
(5分)
A. 正确
B. 错误
17.
抗战时期,中共江南地下党的一名交通员,在一份电子联络图(表现为字典dic_1)里登记了三个暗哨站点:dic_1 = {'一号站': '棉衣', '二号站': '电台', '三号站': [11, 22, 33]}。后来根据地新开辟了一处线路,他立刻在此代码后敲入了指令:dic_1['四号站'] = '药品'。他向上级汇报说:“使用直接赋予键值的指令,能确凿无疑地在老旧的字典网络里当场拓展并新增出第四个全新的成员 {'四号站': '药品'} 。” 他的操作逻辑成立吗?( )
pythondic_1 = {'一号站': '棉衣', '二号站': '电台', '三号站': [11, 22, 33]}dic_1['四号站'] = '药品'print(dic_1) |
(5分)
A. 正确
B. 错误
18.
在晋察冀军区的密码修造所,技术员在整理电子数据档案。他对新来的徒弟说:“在我们的系统里,字符串、列表、还有元组(Tuple)都属于有先后秩序序列特性的结构。其中,元组里面的元素是受到绝对保护、不可被重新赋值和修改的。但也正因为这种坚固特性,元组根本就不允许执行读取片段的‘切片机制’,你不可能像用刀在列表上切下片段那样从元组里成功提取出数据。”请问技术师傅的这段关于“元组自身坚固所以绝对不能切片”的说法是正确的吗?( )
(5分)
A. 正确
B. 错误
19.
军史档案馆的新进干员想要排序打印出一份被打乱的抗日烈士生年序列清单,但老馆长严厉叮嘱:“无论如何,绝不能在计算机底层去篡改这份原装首发电子名册队列(即原始列表)登记在册的老顺序!”为了完成排序显示的任务,新干员聪明地使用了Python 内置的sorted()函数去单独处理。干员打包票说:“因为我使用的是sorted()函数,它仅仅是在内存外部为您凌空生成并返还了一个重新排列好的新队列镜像去用作打印;而最初底层系统里保存的那个原版名单顺序,依旧完好无损、一次修改都没经历过!” 请问干员的保证是对的吗?( )
(5分)
A. 正确
B. 错误
20.
总后勤部为了加快物资表册的调配算法应用,让参谋们把两种常见的内务排序算法——“选择排序”和“插入排序”——进行了兵棋推演比较。一位初级参谋宣称:“这俩种算法最差和平均情况下的代码时间复杂度都在 O(n²) 这个相对漫长的层级上。因此无论战前的初始账本是全盘混乱不堪,还是恰巧已经具有很好的底子顺序,因为二者的理论复杂度层级一样,这俩种在实际中跑起来的速度消耗和时间开销肯定永远是分毫不差、一模一样的。”老教官厉声提醒他:“如此断言完全忽略了不同算法对数据原始站位状况的适应性!”请问这位年轻参谋所谓的“两者实际运行消耗时间绝对一模一样”的定论是正确的吗?( )
(5分)
A. 正确
B. 错误
答案:1.A 2.A 3.A 4.C 5.C 6.A 7.B 8.A 9.A 10.B 11.A 12.D 13.B 14.D 15.B16.A 17.A 18.B 19.A 20.B