2023年5月青少年软件编程Python等级考试四级真题(含答案和解析)

2024年12月2713:09:07发布者:谷获仔 19 views 举报
总字数:约7227字
第1页

第2页

第3页

第4页

2 023 年 5 月电子学会 Python 四级考试真题(含答案和解析)

分数:100 题数:38

一、单选题(共 25 题,共 50 分)

1. 下列程序段的运行结果是?( A )

def s(n):

if n==0:

return 1

else:

return n +s(n-1)

print(s(7))

A. 29

B. 27

C. 1

D. 0

答案解析: 递归公式。

2. 当 n 为 6 时,运行下列 Python 程序后的结果是?( B )

def f(n):

if n<=2:

return 1

else:

return f(n-1)+f(n-2)

n=int(input("请输入一个正整数:"))

print(f(n))

A. 5

B. 8

C. 11

D. 13

答案解析: 每一项为前两项之和。

3. 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每

年年初也生一头小母牛。问第 n 年的时候,共有多少头母牛?由递推法可推测,

当年数小于等于 4 的时候,第几年就是有几头牛,即 a[1]=1;a[2]=2;

a[3]=3;a[4]=4。当 n 大于 4 的时候,这时候第一年出生的那个小母牛就也可

以生出小母牛了,也就是该考虑小母牛是否可以生了,所以 n>4 的时候,

a[n]=?( A )

A. a[n-1]+a[n-3]

B. a[n-1]+a[n-4]

C. a[1]+a[3]

D. a[-1]+a[-3]

答案解析: 前四年共有四只,从第五年开始,第二年出生的小母牛也会生一只

母牛(而且以后每年初都会生一只母牛),加上第一年那只母牛生的小母牛,共有

六只母牛;第六年的时候得加上第三年那只母牛生的母牛,共九只母牛;依次

类推。

4. 二分查找又称折半查找,下列数列中适合二分查找算法的是?( D )

A. 11 99 4 25 3 39

B. 43 71 78 81 6 55

C. 67 62 68 4 1 17

D. 85 78 59 53 19 18

答案解析: 根据二分查找的实现原理,首先数列元素必须是有序的。

5. 在 32 枚崭新的金币中,有一枚外表与真金币完全相同的假币(质量小一

点),现在只有一台天平,则应用二分法的思想最多称几次就可以发现这枚假

币?( B )

A. 4

B. 5

C. 6

D. 7

答案解析: 二分查找法,每次都通过跟区间的中间元素对比,将待查找的区间

缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。

6. 已知在某程序中,有一个全局变量名为 a。在程序中的某个函数中,再次定

义了一个变量 a,且该变量非组合类型变量。

下面哪个说法是对的?( B )

A. 如果在该函数中将 a 声明为 global,则对 a 的操作与全局变量 a 无关。

B. 如果在该函数中未将 a 声明为 global,则对 a 的操作与全局变量 a 无关。

C. 如果在该函数中未将 a 声明为 global,则对 a 的操作即为对全局变量 a 的操

作。

D. 不管在该函数中是否将 a 声明为 global,对 a 的操作都是对全局变量 a 的操

作。

答案解析: 未声明为 global,就是局部变量,因此与全局变量 a 无关。

7. 对于程序中的列表来说,哪个选项中的 填写 在 range()中的 横线 上,

算法 效率 ?( C )

a=[1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1]

for i in range _____ :

if a[i]==1:

print(i)

A. (0,16,1)

B. (0,16,2)

C. (0,16,3)

D. (0,16,4)

答案解析: 数据变 步长 为 3。

8. 下列函数中,不可以直 接调 用的是?( B )

A. print( )

B. s q rt( )

C. str( )

D. di c t( )

答案解析: s q rt()函数是 m ath 模块里 的函数,不 接调 用,应该先 m ath

模块

9. 关于 return 语句 ,下列说法正 的是?( A )

A. return 语句 返回值 的数据类型可以是列表

B. return 语句 中不 有表

C. 一个函数 少有一个 return 语句

D. return 只 能返回 一个

答案解析: return 语句里 可以 含表 式,也可以 返回 多个 。一个函数可以

返回值 ,也可以 返回值

10. 关于函数的 描述 ,不正 的是?( C )

A. 函数中通过 return 语句返回 结果

B. 函数可以 提高代码 重复利

C. 在函数 部不 能使 用全局变量

D. 函数的定义必须在 程序函数 语句 之前

答案解析: 在函数 部可以 使 用全局变量。

11. 小 方编写计 长方形 名函数,下列哪一个 语句 是正 的?( A )

A. rst = la m bda a,b : a * b

B. la m bda a,b:a * b

C. la m bda a,b,a * b

D. rst = la m bda a,b,a * b

答案解析: 键字 la m bda 表 示匿 名函数, 冒号 之前表 的是这个函数的 数,

冒号 之后表 的是 返回值 ,在定义 名函数时, 要将它 赋值给 一个变量。

12. 运行下列程序,输出的结果是?( A )

s = 1

def su m s(n):

global s

s = 0

s = s + n

print(s)

su m s(5)

print(s)

A. 5 5

B. 5 1

C. 1 1

D. 1 5

答案解析: 想在函数 部对函数外的变量 行操作, 要在函数 部声明

为 global, 题中在函数 部声明 s 为 global,因此函数 内改 变后, 影响 函数

外,因此输出结果都是 5。

2023年5月青少年软件编程Python等级考试四级真题(含答案和解析)

14. 下列有关递归的 描述 中,正 的是?( C )

A. 递归函数中 定有 循环

B. 递归 事化 的思想

C. 递归有明 的结 递归的 边界条件

D. 递归 效率较高

答案解析: 递归有明 的结 递归的 边界条件 时的 边界值 ,递归

事化 的思想。

15. 小 妈妈 法如下,第一天分 掉其 中一半加一个 果,第二天分

掉剩 下的一半加一个 果,以后每天都分 掉剩 下的一半加一个 果。到第 8 天

的时候 妈妈 发现只 一个 果了。请问小 方妈妈 一开始有多少个 果? 这个问

我们 可以用以下 什么 算法解 ?( B )

A. 查找

B. 递推

C. 枚

D.

答案解析: 从第 8 天 算第 7 天 剩余 果数, 后再 算第 6 天的,依

次递推解 问题。这是递推问题

总页数:11
提示:下载前请核对题目。客服微信:diandahome
标题含“答案”文字,下载的文档就有答案
特别声明:以上内容(如有图片或文件亦包括在内)为“电大之家”用户上传并发布,仅代表该用户观点,本平台仅提供信息发布。