万卷网> 电子学会考级 >Python等级考试 > 2022年6月电子学会青少年软件编程(Python四级)等级考试试卷

2022年6月电子学会青少年软件编程(Python四级)等级考试试卷
操作/编程 四级 2022 2022-11-02 19:16:26 79

一、单选题

1.

下列选项中,哪一项不是分治算法的特征?( )

A.

问题的规模缩小到一定程度就可以容易解决。

B.

该问题分解出的子问题的解可以合并为该问题的解。


C.

各个子问题必须分解到不能分解为止。

D.

该问题具有最优子结构性质。

2.

关于评价算法的优劣,以下说法正确的是?( )

A.

只要考虑是否得出正确答案。

B.

只要考虑算法的执行时间。

C.

只要考虑算法所占用的空间。

D.

从算法执行时间和需占用的空间两方面考虑。

3.

下列哪项不是函数的优点?( )

A.

提高代码的复用率。

B.

使得程序简洁,程序功能清晰。

C.

便于程序的修改,便于扩展。

D.

代码运行速度更快。

4.

下列程序实现求菲波那契数列第4项的值:

def f(n):

    if n==1 or n==2:

        return 1

    elif n>2:

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

    else:

        return -1

print(f(4))


请问:这种解决方法属于哪种算法?( )

A.

归纳

B.

列举

C.

递推

D.

递归

5.

以下选项中,不属于第三方库安装工具pip能够实现的功能是?( )

A.

安装一个第三方库。

B.

卸载已经安装的第三方库。

C.

修改已经安装的第三方库。

D.

查询已经安装的第三方库。

6.

下列关键字中,用来导入第三方库的是?( )

A.

include

B.

from

C.

import

D.

continue

7.

著名的斐波那契数列为1,1,2,3,5,8,……。即除开始的两项为1外,其余每一项均为前两项之和。

下面的程序实现计算该数列的第4项值的大小。

n,a,b=4,1,1

if n==1:

    print("第%d个数为%d。"%_____(1)______)

if n==2:

    print("第%d个数为%d。"%(n,b))

if n>2:

    for i in range(2,n):

        result=a+b

        a,b=b,result

print("第%d个数为%d。"%(n,result))

请问:横线(1)所在位置不适合填入以下哪个选项?( )

A.

(n,1)

B.

(n,a)

C.

(n,b)

D.

(a,n)

8.

下列排序算法中利用了分治算法思想的是?( )

A.

冒泡排序

B.

插入排序

C.

选择排序

D.

快速排序

9.

函数如下:

def showNumber(numbers):

    for n in numbers:

        print(n)

下面哪个选项在调用该函数时会报错?( )

A.

showNumber([2,4,5])

B.

showNumber('abcesf’)

C.

showNumber(3.4)

D.

showNumber((12,4,5))

10.

函数中用return [表达式] 结束函数,选择性地返回一个值给调用方,有时不带表达式的return相当于返回?( )

A.

0

B.

None

C.

1

D.

False

11.

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

def fun(a,b):

    t = a

    a = b

    b = t

    print(a, b)

fun(pow(3,2),pow(2,3))   #pow(x,y)返回x**y的值

A.

3 2

B.

8 9

C.

2 3

D.

9 8

12.

对于下面的函数:

def f(x,z,y=2):

    print(x+y+z)

用f(1,2,3)和f(1,2)两个调用语句,运行结果分别是?( )

A.

都是5

B.

6和5

C.

都是6

D.

5和6

13.

在1-20之间玩猜数字的游戏时,如果采用二分法的策略,并且给‘大了’或‘小了’的提示,最差的情况下多少次就可以猜中?( )

A.

5

B.

10

C.

15

D.

20

14.

下列这段程序的打印结果是?( )

def demo(item,lis=[]):
    lis=[]
    lis.append(item)
    return lis
print(demo('a'),end='')
print(demo('b'))


A.

['a']['a', 'b']

B.

['a']['b']

C.

[][]

D.

[ ]['b']

15.

已知Pell数列定义如下:

第5项的值是?( )

A.

29

B.

30

C.

12

D.

32

16.

有如下Python程序,包含lambda函数,运行该程序后,输出的结果是?( )

g = lambda x,y:x*y
print(g(2,3))


A.

2

B.

3

C.

6

D.

8

17.

Python编写的自定义函数dy,执行该程序段后,输出的结果是?( )

def dy(x,y):
    return x>y
print(dy(10,20))


A.

10

B.

20

C.

False

D.

True

18.

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

def f(n):
    if n==1 or n==2:
        return 1
    elif n>2:
        return f(n-1)+f(n-2)
    else:
        return -1
print(f(-2))


A.

-2

B.

-1

C.

出错

D.

1

19.

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

def nxs(x):
    s = 0
    while x:
        s = s * 10 + x % 10
        x //= 10
    return s
print(nxs(106))


A.

106

B.

610

C.

160

D.

601

20.

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

def Pell(n):
    if n==1:
        return 1
    if n==2:
        return 2
    if n>=3:
        return 2*Pell(n-1)+Pell(n-2)
print(Pell(4))


A.

12

B.

4

C.

3

D.

24

21.

在函数中有一种叫空函数。 构造一个空函数,下面的横线处应填?( )

def  函数名( ):

    ______________

A.

None

B.

return None

C.

pass

D.

empty

22.

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

def dtox(x,base = 2):
    s = []
    while x>0:
        s.append(x % base)
        x = x // base
    return s
print(dtox(11))


A.

程序出错

B.

1101

C.

[1, 1, 0, 1]

D.

[1, 0, 1, 1]

23.

下列关于函数的描述正确的是?( )

A.

函数内的语句不会改变任何非全局变量的值。

B.

传入函数的参数都会以副本的形式存在函数中。


C.

函数的名称不能与Python的保留字相同。

D.

每个函数必须有一个return语句。

24.

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

def f(n):
    if n==1:
        return 1
    else:
        return f(n-1)+(n-1)*f(n-1)
print(f(4))


A.

64

B.

24

C.

4

D.

16

25.

Python中自定义函数的关键字是?( )

A.

sub

B.

def

C.

function

D.

void

二、判断题

1.

Python中编写函数时,必须指明该函数的返回值。( )

A.正确 B.错误
2.

使用分治算法解决问题的一般步骤是分解、求解、合并。( )

A.正确 B.错误
3.

递归算法跟递推算法是一样的,都在重复调用。( )

A.正确 B.错误
4.

自定义函数def块中的代码不是主程序的一部分,运行会跳过该段代码。( )

A.正确 B.错误
5.

用户自定义函数是用户自己写的一段程序,一般包括函数名、参数、返回值、函数体等四部分。其中,函数名和参数是必不可少的部分。( )

A.正确 B.错误
6.

算法优化主要是为了减少冗余数据,优化时间复杂度和空间复杂度。( )

A.正确 B.错误
7.

Python定义函数时,可选参数必须写在非可选参数后面。( )

A.正确 B.错误
8.

在Python中使用爬虫技术抓取网站信息需要用到第三方库。( )

A.正确 B.错误
9.

Python中自定义函数的代码需要写在调用该函数之前。( )

A.正确 B.错误
10.

对于递归而言,递推与回归,二者缺一不可。( )

A.正确 B.错误
公众号
客服 反馈
顶部