2022年3月电子学会青少年软件编程(Python四级)等级考试试卷
剩余时间 --:--:--
单选题 共 25 题
1.

下列哪个关键字可用来创建自定义函数? ( )

2.

观察下列代码,说法错误的项是? ( )

def fi(n):
    if n==1 or n==2:
        s=1
    else:
        s=fi(n-1)+fi(n-2)
    return s
a=int(input("请输入a的值:"))
print(fi(a))


3.

关于算法描述正确的是? ( )

4.

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

5.

以下函数要计算1到100自然数的和,则划线处应补充选项为? ( )

def su(n):

    s =0

    while n > 0:

                     

                        

    return s

print(su(100))

6.

以下选项中,关于python函数参数的说法错误的是? ( )

7.

函数调用时通过“键-值”形式加以指定实际参数,即使用关键字参数,可以让函数更加清晰、容易使用,关于关键字参数的限制,以下表述中哪一个是错误的? ( )

8.

关于Python的自定义函数的描述,下列哪个选项是错误的? ( )

9.

以下哪个不是Python中的内建函数? ( )

10.

对于序列98,88,76,65,48,24,12,12,8,1,采用“对分查找”法查找8,需要查找多少次? ( )

11.

可以通过下列哪一个关键字,通过局部变量修改全局变量的值? ( )

12.

Python机器学习方向的第三方库是? ( )

13.

执行以下程序,以下选项中哪一项是错误的? ( )

def miao(x,y): 
    z=x+y*2
    y=x
    return z 
x=2 
y=3
z=miao(x,y)+y


14.

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

def demo(a,b): 
    print(a+b) 
mydict={'a':1,'b':2} 
demo(**mydict) 
demo(*mydict)


15.

下列程序段的运行结果为? ( )

def fun(a):
    if a<=1:
        return 1
    else:
        return fun(a-1)*2
print(fun(5))


16.

Python可以将形式参数定义为可变参数,即传入函数中的实际参数可以是任意多个,主要有“*parameter”以及“**parameter”两种形式。以下关于可变参数的定义形式表述错误的是? ( )

17.

关于函数,以下选项中描述错误的是? ( )

18.

设有以下函数,运行程序输出的结果是? ( )

def fun(m,n): 
    m-=n 
    return m 
a=fun(4,1) 
print(a)


19.

以下关于递归与递推方法的比较,正确的观点是? ( )

20.

以下常见算法中,体现分治思想的是? ( )

21.

下列关于函数的说法,错误的是? ( )

22.

以下函数要实现5的阶乘,则划线处应补充选项为? ( )

def fun(i):

    if i<=1:

        return 1

    else:

        return                

print(fun(5))

23.

分治法所能解决的问题一般具有以下几项特征,下列哪一项描述不正确? ( )

24.

有如下 Python 程序,运行该程序后,输出结果为? ( )

def fun(s):
    st=s[1]
    for i in range(1,len(s)):
        if len(st)==0 or s[i]!=st[len(st)-1]:
            st=st+s[i]
        else:
            st=st[0:len(st)-1]
    print(st)
fun("xxyyzzxyz")


25.

下列关于递归的描述不正确的是? ( )

判断题 共 10 题
1.

为打印出5、4、3、2、1这个数字序列,小明编写了一个递归函数,如下图所示。

请问,他这个程序是正确的吗?

2.

primenumber(number)函数是判断一个数是否是素数的函数,将函数的循环条件“for i in range(2,number)”更改为“for i in range(2,number//2)”能够降低primenumber(number)函数的时间复杂度。

def primenumber(number):

    if number < 2:

        print(number,"不是素数!")

    else: 

        for i in range(2,number):

            if number % i == 0:

                print(number,"不是素数!")

                break

        else:

            print(number,"是素数!")

3.

执行以下代码:

def func(list_1):

    list_1=[5,8]

list_1=[20,12,53]

func(list_1)

t=tuple(list_1)

print(t)

程序输出的结果为:(5,8)。

4.

为实现下图左边的打印效果,小明编写了如下图右边的代码。

请问,他这代码能正确打印出左边效果来吗?

5.

1、有abc三个口袋,a袋中有1粒糖,b袋中有2粒糖,c袋中有3粒糖

2、小红与小明两人轮流在任意一袋中取糖出来。每次可以在任意一袋中,取任意颗(比如,可在c袋中取3、2、1任意颗)

3、到最后,谁最后一次取,并将所有糖都取完了,谁就获胜,获胜者将得到所有的糖。

小明让小红先取,自己后取。

小红说:不!先取的人肯定会输!

请判断,小红所说,是正确还是错误?( )

6.

在一个程序实现过程中,若某一部分的代码功能反复出现了多次,我们可以把这段反复出现的代码定义成一个函数,然后在需要的时候调用,这体现了函数代码的复用性。

7.

下图左右两段代码运行之后,打印出的结果不相同!请判断对吗?

根据题意,该题答案为:错误.

8.

如下图代码,运行之后,最终打印出的结果是4,请判断对错。

9.

匿名函数L(x1,y1,x2,y2)的返回值是(x1-x2)**2 + (y1-y2)**2的计算结果。

   L = lambda x1,y1,x2,y2:(x1-x2)**2 + (y1-y2)**2

10.

小明听说,使用pygame模块可以编写很多有趣的小游戏,于是他想在自己的电脑上安装这个模块。

他使用了如下命令进行安装,请问,他下面这条命令正确吗?

pip  install  -i  https://pypi.doubanio.com/simple/  pygame

C++ 编辑器
输入
输出