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

2020年12月电子学会青少年软件编程(Python四级)等级考试试卷
操作/编程 四级 2020 2022-10-30 14:07:35 101

一、单选题

1.

运行以下函数,正确的打印是?( )

def domain2(a,b):
    a = a+b
    return a
a = 2
print(domain2(2,a))


A.

4

B.

2

C.

1

D.

7

2.

以下选项中不是Python对文件的写操作方法的是?( )

A.

writelines

B.

write

C.

write 和 seek

D.

writetext

3.

用于安装Python第三方库的工具是?( )

A.

Install

B.

pip

C.

Wheel

D.

Setup

4.

有 2*n的一个长方形方格,用一个1*2的骨牌铺满方格,当n=5时,铺法总数为多少?( )

A.

5

B.

6

C.

7

D.

8

5.

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

x=1
def demo(): 
    global x 
    x=2 
    print(x) 
demo() 
print(x)


A.

1

B.

1

C.

2

D.

2

6.

下列哪个关键词可用来表示返回值?( )

A.

back

B.

return

C.

ret

D.

ok

7.

Python中函数不包括以下哪一个?( )

A.

参数函数

B.

标准函数

C.

内建函数

D.

第三方库函数

8.

以下有关算法的表述中正确的是?( )

A.

描述算法可以有不同的方式,可用自然语言也可用流程图等

B.

算法可以看成按照要求设计好的有限的确切的步骤解决问题,并且这样的步骤只能解决当前问题

C.

算法需要一步一步执行,每一步执行的操作必须明确,不能含混不清,而且经过有限步或无限步后能得出结果

D.

算法要求按部就班地执行相应的步骤,每一步可以有不同的结果

9.

以下哪一个函数是指直接或间接调用函数本身的函数?( )

A.

map函数

B.

zip函数

C.

匿名函数

D.

递归函数

10.

以下选项中,哪一个不属于函数的作用?( )

A.

提高代码的执行速度

B.

提高代码的重复利用率

C.

增强代码的可读性

D.

降低编程的复杂度

11.

运行以下函数,正确的打印是?( )

def function(a):
    s = 0
    while(a>0):
        if(a%2 == 0):
            s += a*(a-1)
        else:
            s += a+(a-1)
        a = a-1
    return s
print(function(6))


A.

21

B.

36

C.

59

D.

46

12.

以下选项中关于递归算法的描述,错误的是?( )

A.

书写简单

B.

一定要有基例(指不需要递归就能求解的解)

C.

递归算法都可以用非递归的方法实现

D.

执行效率高

13.

关于以下程序,下列表述中错误的一项是?( )

def demo(n): 
    s=1 
    for i in range(1,n): 
        s*=i 
    return s


A.

demo(n)函数的功能是求n的阶乘

B.

s是局部变量

C.

n是形式参数

D.

range()函数是Python内置函数

14.

运行以下函数,正确的打印结果是?( )

def sub(a,b):
    return a-b
a,b = 5,3
c = sub(b,a)
print(c)


A.

2

B.

-2

C.

1

D.

-1

15.

关于计算圆面积的匿名函数的定义,以下哪一个语法格式是正确的?( )

A.

lambda r:3.1415926*r*r

B.

result=lambda r:3.1415926*r*r

C.

lambda r,3.1415926*r*r

D.

result=lambda r,3.1415926*r*r

16.

对元素规模为n的列表进行对分查找时,无论是否找到,至多进行()次查找?

A.

n

B.

(n+1)/2

C.

n-1

D.

log2n+1

17.

代码: 

def sum(num1,num2): 
    num1=num1+1 
    num2=num2+2 
    result=num1+num2 
    return result 
a=3 
b=4 
c=sum(a,b) 
print("a=",a,"b=",b,"c=",c)

以下说法正确的是?( )

A.

程序的运行结果为:a= 3 b= 4 c= 10

B.

程序的运行结果为:a= 4 b= 6 c= 10

C.

程序的运行结果为:a= 4 b= 6 c= 7

D.

编译错误,程序无法运行。

18.

下面的故事与哪一个算法有着异曲同工之妙?( )

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事……

A.

穷举

B.

递归

C.

贪心

D.

分治

19.

运行以下函数,正确的打印是?( )

def test(num):

        print("the number is %"%(num))

test(888)

A.

the number is %

B.

the number is 888.

C.

the number is %888

D.

the number is 888.888

20.

以下不可以使用分治法求解的是?( )

A.

棋盘覆盖问题

B.

选择问题

C.

归并排序

D.

0/1背包问题

21.

运行以下代码,若d的值为17,则return后面应该填?( )

def function(a,b):

    c = a+b

    return _______

a,b = 3,2

d = function(a,b)

A.

c+a+b

B.

c-a*b

C.

c+a*b

D.

c*a+b

22.

以下函数要计算x的n次方,则应补充选项为?( )

def power(x, n):

    s = 1

    while n > 0:

        _________

        s = s * x

    return s

A.

n = n

B.

n = n+1

C.

n = n-2

D.

n = n-1

23.

分治,"分而治之"。从字面上理解就是分---治,把大的问题分成小问题,解决一个一个小问题,之后把问题的答案合并起来,就得到大问题的结果。历史上也有很多故事属于分治思想,以下属于分治思想的是?( )

A.

三国时,曹操带兵长途行军,士兵们都很口喝,曹操便说:“前面就是一大片梅林,结了许多梅子,又甜又酸,可以解渴。” 士兵们听了,嘴里都流口水,一时也就不渴了。

B.

战国时期,秦国通过远交近攻的策略,逐个击破,最后统一六国。

C.

汉末刘备三次到诸葛亮住的茅屋去邀请他出来帮助自己打天下,最后诸葛亮才答应出来。

D.

三个臭皮匠顶个诸葛亮是一个文化术语。指的是三个副将的智慧能顶一个诸葛亮。

24.

关于以下程序,运行程序输出结果正确的是?( )

def demo(x): 
    return x*2; 
print(demo(demo(demo(1))))


A.

1

B.

2

C.

4

D.

8

25.

以下用于绘制弧形的函数是?( )


A.

turtle.seth( )

B.

turtle.right( )

C.

turtle.circle( )

D.

turtle.fd( )

二、判断题

1.

使用pip install-upgrade numpy命令能够升级numpy科学计算扩展库。

A.正确 B.错误
2.

power(x,n)函数是计算x的n次幂的函数,power(x,n)函数运用了分治算法的思想,调用power(3,3)函数的计算结果是:27

def power(x,n):

    if n == 2:

        return x

    if n%2 == 0:

        return power(x,n//2) * power(x,n//2)

    else:

        return power(x,(n+1)//2) * power(x,(n-1)//2)

A.正确 B.错误
3.

执行以下代码:

n=5

def fun():

    x=n+1

    print (x)

fun()

程序输出的结果为:6

A.正确 B.错误
4.

type(str)函数的返回值是参数str的数据类型。

A.正确 B.错误
5.

新型冠状病毒感染的肺炎是一种全新的冠状病毒肺炎,该病毒具有人群易感性,预防病毒我们要做到勤洗手、戴口罩,多通风。假设新型冠状病毒每轮会传染给x人,则经过n轮传染后,有n*x个人感染。

A.正确 B.错误
6.

运行如下图的代码,变量m无论取值是多少,print打印出的值都不可能大于30。

A.正确 B.错误
7.

调用函数print_info("李华","16","男")输出的结果是:“姓名:李华,年龄:16,性别:男”

def print_info(name,age,sex);

    str = "姓名:"+name+",年龄:"+age+",性别:"+sex

    print(str)

A.正确 B.错误
8.

执行以下代码:

def sum_n(n):

    if n==1:

        return 2

    t = sum_n(n - 2)

    return n + t

result = sum_n(5)

print(result)

程序输出的结果为:10

A.正确 B.错误
9.

调用嵌套函数outer(),两次输出变量x的值是不一样的。

 def outer():

     x = "local"

     def inner():

         x = 'nonlocal' 

         print("inner:", x)

     inner()

     print("outer:", x)

A.正确 B.错误
10.

函数factorialrecursive(n)与factorial cycle(n)分别是运用递归和循环计算n的阶乘的函数,因为两个函数都能够计算n的阶乘,所以递归和循环的时间复杂度是一样的。

def factorialrecursive(n):

    if n == 1:

        return 1

return n*factorial(n-1)

 def factorial cycle(n):

      result = 1

       while(n>1):

        result = result * n

        n = n-1

    return result

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