2022 年 12 月青少年软件编程 Python 等级考试试卷四级(含答案和解析)
分数:100 题数:38
一、单选题(共 25 题,共 50 分)
1.有 n 个按名称排序的商品,使用对分查找法搜索任何一商品,最多查找次数
为 5 次,则 n 的值可能为?(C)
A. 5
B. 15
C. 30
D. 35
解析:对分查找最多查找次数 m 与个数之间 n 的关系是:n 对 2 的对数的取整后
加 1,现在最多查找次数是 5 次,因此 n 的取值范围在[2^4+1,2^5]即[16,31]之
间,因此选 C。
2.下列有关分治算法思想的描述不正确的是?(D)
A. 将问题分解成的子问题具有相同的模式。
B. 当问题足够小时,可以直接求解。
C. 可以将子问题的结果合并成原问题的解。
D. 将问题分解出的各个子问题相互包含,相互之间可以有公共子问题。
解析:将问题分解出的各个子问题是相互独立的,即子问题之间不包含公共子
子问题。
3.下列问题使用分治算法思想的是?(D)
A. 求 100 以内的素数
B. 求 100 个整数之和
C. 求斐波那契数列第 n 项
D. 快速排序算法对 n 个数排序
解析:快速排序算法使用了分治算法。因此选 D。
4.李宇同学利用 Python 语言编写了一段“根据出.生.年月判断生肖属相”的程
序,调试运行时,程序没有报错且顺利运行,但未能正确输出对应属相,造成
这个结果的原因可能是?(C)
A. 程序语句语法错误
B. 时间复杂度太高
C. 求解算法逻辑错误
D. Python 环境配置不对
解析:程序能正常运行,排除了其他三个可能。
5.一般来说,递归需要有边界条件、递归前进段和递归返回段。当不满足边界
条件时,();当满足边界条件时,()。(C)
A. 返回,前进
B. 中断,前进
C. 前进,返回
D. 中断,返回
解析:递归运行的条件,不满足边界条件前进,满足返回。
6.以下哪一项不是递归算法的特征?(D)
A. 要实现递归必须有一个函数,并且在这个函数体内要自己调用自己。
B. 递归必须要有判断条件,这个判断条件可以是判断次数。
C. 到达判断的条件后必须有返回,目的是结束递归。
D. 未到达判断条件时,不可以返回该函数。
解析:未到达判断条件时,可以返回该函数,也可以不返回。
7.关于斐波那契数列,下列空白处的代码填写正确的是?(C)
def func(num):
i f num == 1:
r etu r n 1
e li f num == 2:
r etu r n 1
e ls e:
ls t = []
b=i n p ut( '请 输 入 选 择 的数 字 : ' )
b 1 =i nt( b )
fo r a i n ra n g e(1, b 1+1):
pri nt(func( a ))
ls t. app end(func( a ))
a + = 1
pri nt( ls t)
A. r etu r n func(num+1)+func(num - 2)
B. r etu r n func(num - 1)+func(num)
C. r etu r n func(num - 1)+func(num - 2)
D. r etu r n func(num - 1)+func(num+2)
解析:斐波那契数列, 从 第三项 开始 , 每 一项 都 等于前 两 项之和。
8.在有序列 表 [2,3,10,15,20,25,28,2 9 ,30,35,40]中,使用 二 分法
查找 20,需要查找多少次能找到?(B)
A. 5
B. 4
C. 3
D. 2
解析:可以模 拟二 分法的 执 行 过 程分析 得 出。
9 .下列程序输出正确的是?(C)
def a c(n):
i f n < 0:
r etu r n
e ls e:
a c(n - 1)
pri nt(n)
a c(4)
A. 0,1,2,3,4
B. 1,2,3,4
C. 0
1
2
3
4
D. 1
2
3
4
解析: 依 次输出 0 - 4, pri nt() 默认换 行。
10. 阅读 下列程序,运行结果正确的是?(D)
def p o w e r ( x ,y):
i f y == 0:
r etu r n 1
e ls e:
r etu r n x * p o w e r ( x ,y - 1)
pri nt( p o w e r (4,5))
A. 243
B. 81
C. 1206
D. 1024
解析: p o w e r ( a , b ) 表示 a 的 b 次 幂 ,当 y 不等于 0,返回 x*p o w e r ( x ,y - 1)。据题,
x= 4,y = 5,因此 4 *p o w e r (4,4),即 4 * (4 的 4 次 幂 ),结果为 1024。
11.下 载 但不 安装 一个第三 方库 的 命令格 式是?(D)
A. pip s e ar ch 第三 方库 名
B. pip un i n s t all 第三 方库 名
C. pip i n s t all 第三 方库 名
D. pip do w n l o a d 第三 方库 名
解析: pip s e ar ch 为搜索三 方 包 ;pip i n s t all 为 安装 三 方 包 ;pip un i n s t all 为
卸载 三 方 包。
12.不需要使用 Python 的 pip 工 具 安装 的是?(A)
A. Python 标准库
B. 第三 方库
C. 用 户 自己 开发 的 库
D. Python 扩展库
解析:除了 A 选项,其他 都 要 安装 。
13.使用 la m b d a 定义匿 名函数 如 下:f =la m b d a x : x +1,则 f(f(1))代码运行结果
是?(C)
A. 1
B. 2
C. 3
D. 会 报错
解析:f(1) = 2,f(2) = 3。
14.关于函数,以下选项中描述错误的是?(D)
A. 函数是一段具有特 定功 能的、可 重 用的语句 组 。
B. 函数能 完 成特 定 的 功 能,对函数的调用不需要了解函数内 部 实现原 理 , 只 要
了解函数的输 入 输出 方 式即可。
C. 使用函数的 主 要目的是 减低 编程 难 度和代码 重 用。
D. Python 使用“de l ” 保留字定义 一个函数。
解析:Python 使用“def” 保留字定义 一个函数。
15. 某 自 定义 函数有 两 个 参 数,并且这 两 个 参 数 都指定 了 默认 值。 我们 在调用这
个函数时,最少需要 提供几 个实 参 ?(A)
A. 0
B. 1
C. 2
D. 3
解析: 只 要有 默认 值 就 可以 省略 。
16.以下关于 Python 中使用函数的描述,错误的是?(A)
A. 程序 里 一 定 要有 m ai n 函数。
B. 使用函数前要 先定义 函数。
C. 函数在 被 调用时 才执 行。
D. 函数 执 行结束后,程序 执 行 流 程 会 自 动 返回到函数 被 调用的语句之后。
解析:Python 程序不必一 定 要有 m ai n 函数。
17.在 Python 中,函数 通过 可 变参 数 *args 传入 的 参 数,在函数内以哪 种 数据 类
型存储 ?(A)
A. 元组
B. 列 表
C. 集 合
D. 字典
解析:可 变参 数在函数内以 元组方 式 存储 。
18.下列关于函数调用的说法正确的是?(C)
A. 调用函数时一 定 要 赋 值。
B. 只 要 安装 成 功 第三 方库 ,不要 导入 , 就 可以直接调用第三 方库里 的函数。
C. Python 内置的 标准 函数可以多次调用。
D. 函数调用时, 如 果 参 数有 默认 值, 就 不能 给它再赋新 的值了。