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

以下关于全局变量和局部变量的表述正确的是?( )

2.

下列有关循环和递归的描述正确的是?( )

3.

阅读下列程序段,数列的第6项值为多少?( )

def fibona(x):
    if x==1 or x==2:
        f=1
    for i in range(3,x+1):
        f=fibona(x-1)+fibona(x-2)
    return f
n=int(input("请输入数列第几项:"))
m=fibona(n)
print("数列的第"+str(n)+"项的值为"+str(m))


4.

下面哪种算法使用了分治的方法?( )

5.

以下有关Python函数的定义表述中错误的是?( )

6.

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

c=1
def fun(n):
    a=1
    for b in range(1,n):
        a*=b
    return a
n=int(input('Enter n='))
print(fun(n),c)


7.

有如下Python的自定义函数,执行该程序后,结果是?( )

def  calc(x,y,op):
    return eval(str(x)+op+str(y)) 
print(calc(3,5,'+'))


8.

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

def f(n):
    if n<=1:
         return 1
    else:
        return f(n-1)*3
print(f(5))


9.

有一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地前,反弹多高?用递归函数解决,下面选项正确的是?( )

10.

下面关于递归函数说法正确的是?(    )

11.

下列选项中,关于如何安装第三方库的说法正确的是?( )

12.

有如下Python程序段,执行该程序后,结果是?( )

def fun(*p):
    return sum(p)
print(fun(1,3,5))


13.

在一个平面中,有n个圆两两相交,但任二个圆不相切,任三个圆无公共点,以下函数能计算出n个圆把平面分成的区域个数,空格处填写的语句是?( )

def c(n):

    if n=1:

         return 2

    else:

         return                   

14.

有如下Python程序,执行该程序后,结果是?( )

g = lambda x,y=3,z=5:x+y+z
print(g(2))


15.

观察此题示例代码,以下表述中错误的是?( )

nums = range(2,20)
for i in nums:
    nums=list( filter(lambda x:x==i or x % i,nums))
print(nums)


16.

有如下Python程序,执行该程序后,结果是?( )

x = 3
def  calc():
    x = 5
print(calc())


17.

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

def f(x,y,z):     print(x,y,z)

f(z=3,x=2,y=1)

18.

对于数列3,8,11,15,17,19,25,30,44,采用“二分查找”法查找8,需要查找多少次?( )

19.

执行如下Python代码后,结果是?( )

def inverse(s,n=0):     while s:
        n = n * 10 + s % 10
        s = s // 10
    return n
print(inverse(456,123))


20.

如下代码运行后下面选项中描述错误的是?( )

def pph(a,b):
  c=a**2+b
  b=a
  return c
a=10
b=100
c=pph(a,b)+a
print(a,' ',b,' ',c)


21.

下面哪一项不是pip指令?( )

22.

下面的程序输出1~100之间能被7整除但不能同时被5整除的所有整数。

k=1

while k<101:

   if k%7==0 and k%5 !=0:

       print(k)

   k += 1

根据下面哪个选项的方法优化后,程序的运行效率最高?( )

23.

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

y=2
def fun():  
    global y  
    y=1  
    print(y)
fun()
print(y)


24.

应用分治算法的前提是?( )

25.

有如下Python语句,执行该语句后,结果是?( )

f=lambda x:5
print(f(3))


判断题 共 10 题
1.

下列程序段运行后的结果是2。

def change(a,b):
    a,b=b,a
    return a
a=2
b=3
print(change(change(a,b),a))


2.

所有的Python第三方库均可以使用pip工具进行安装。

3.

定义Python函数时,如果函数中没有return语句,则该函数返回值是None。

4.

对于斐波那契数列:1,1,2,3,5,……,我们只能采用迭代公式以递推的方式求解。

5.

算法的时间复杂度与空间复杂度没有必然关系。

6.

对于一个复杂问题,如果所分解出的各个子问题之间相互不独立,则不适合使用分治算法。

7.

执行以下代码:

def fun( name, age = 30 ):

   print("Name:", name)

   print("Age:", age)

   return

fun( age=40, name="summy" )

fun( name="summy" )

程序输出的结果为:

Name: summy Age: 40

Name: summy

Age: 40。

8.

执行以下代码:

sum=0

def fun(arg1,arg2):

    sum=arg1+arg2

    print(sum)

    return sum

fun(5,10)

print(sum)

程序输出的结果为:15

            15

9.

在创建自定义函数时,即使函数没有参数,也必须保留一对空的"()"。

10.

执行以下代码:

def fun( mylist ):

    mylist.append([1,2,3,4])

    print("函数内取值: ", mylist)

    return

mylist = [5,6,7]

fun( mylist )

print("函数外取值: ", mylist)

程序输出的结果为:函数内取值:  [5, 6, 7, [1, 2, 3, 4]]

            函数外取值:  [5, 6, 7, [1, 2, 3, 4]]。

C++ 编辑器
输入
输出