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

2022年9月电子学会青少年软件编程(Python四级)等级考试试卷
操作/编程 四级 2022 2022-11-05 12:37:09 34

一、单选题

1.

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

def a():

    print("here")

b()

a()

def b():

    print("there")

a()

b()

A.

出错

B.

死循环

C.

here

D.

here

there

2.

设函数f定义如下:

def f(x,y = 0):

    pass

下列选项执行时,出现错误的是?( )

A.

f(,2)

B.

f(1,2)

C.

f(1)

D.

f(1,)

3.

下列选项中,哪一项不是递归函数必须要具备的条件?( )

A.

明确的边界条件

B.

边界值

C.

循环语句

D.

终止条件

4.

使用分治算法的基本步骤是?( )

A.

分解、解决、合并

B.

分解、解决

C.

合并、解决

D.

合并、解决、分解

5.

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

A.

函数可以没有返回值,也可以有一个或多个返回值

B.

函数定义中最多含有一个return语句

C.

在函数定义中用return语句时,至少给一个返回值

D.

函数中 return语句只能放在函数定义的最后

6.

执行以下代码,程序的输出结果是?( )

def weight(n):

    if n==1:

        return 100

    else:

        return weight(n-1) +10

print(weight(3))

A.

100

B.

110

C.

120

D.

130

7.

用递归算法实现5的阶乘,则下方的程序中横线上需要的代码是?( )

def func(n):

    if n<_______:

        return func(n+1)*n

    else:

        return 1

print(func(1))

A.

4

B.

5

C.

6

D.

7

8.

下列不是评判一个算法优劣的标准是?( )

A.

时间复杂度

B.

空间复杂度

C.

难易度

D.

健壮性

9.

下列导入pandas模块的方法不正确的是?( )

A.

import pandas

B.

import pandas as p

C.

import pandas *

D.

from pandas import *

10.

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

def change(a,b):

    a=10

    b+=a

a=4

b=5

change(a,b)

print(a,b)

A.

4 5

B.

10 5

C.

4 15

D.

10 15

11.

Python中,可以将数字类字符串转换成整数的函数是?( )

A.

int( )

B.

float( )

C.

bool( )

D.

class( )

12.

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

LS = ["apple", "red", "orange"]

def funb(a):

    LS.append(a)

funb("yellow")

print(LS)

A.

["apple","red","orange"]

B.

["apple","red","orange","yellow"]

C.

[]

D.

["yellow"]

13.

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

def check(x = 2,y = 3):

    print(x,y) 

check(y=6,x=5)

A.

5 6

B.

6 5

C.

2 3

D.

3 2

14.

def AddApple(fruit=None):

    if fruit is None:

        fruit=[]

    fruit.append('Apple')

    return fruit

AddApple()

AddApple()

print(AddApple(['Pear']))

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

A.

['Pear','Apple']

B.

['Pear','Apple','Apple']

C.

['Apple','Pear','Apple','Apple']

D.

['Apple']

15.

Python中用于字符与其ASCII码相互转换的内置函数是?( )

A.

float() abs()

B.

pow() format()

C.

ord() chr()

D.

round() import()

16.

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

def func(a, b):

    c=a**2+b

    b=a

    return c

a=10

b=2

c=func(b,a)+a

print(c,b)

A.

102 2

B.

24 10

C.

24 2

D.

102 10

17.

用下面的程序求解计算s=1+3+5+7+9的值,请选择横线处应填写的代码?( )

def Sum(n):

    if n<=1:

        return 1

    else:

        return ________

print(Sum(9))

A.

n+Sum(n-1)

B.

n+Sum(n+1)

C.

n+Sum(n+2)

D.

n+Sum(n-2)

18.

def ThankYou(name):

    print("感谢%s对公司的贡献!" %name)

ThankYou('张三')

ThankYou()

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

A.

打印输出:感谢张三对公司的贡献!

然后报错:TypeError: ThankYou() missing 1 required positional argument: 'name'

B.

打印输出:

感谢张三对公司的贡献!

感谢对公司的贡献!

C.

无法输出。

D.

需要增加main函数才能正确运行。

19.

Python中提供了大量的标准库模块,比如利用time模块可以获取计算机的时钟信息,包括日期和时间,若想要实现延时1分钟,则应该使用的语句是?( )

A.

sleep(3600)

B.

time.time(60)

C.

time.asctime(1)

D.

time.sleep(60)

20.

编写程序计算1+1/2+1/3+……+1/n的结果,可以使用哪种调用函数自身的算法?( )

A.

枚举

B.

递归

C.

解析

D.

分治

21.

二分查找法是运用哪种策略实现的算法?( )

A.

分治法

B.

贪心法

C.

回溯法

D.

动态规划法

22.

下列程序是分治算法的典型应用,其运行结果是?( )

def dividAndConquer(arr,left,right): 

    if (right == left + 1) or (right == left): 

        return max(arr[left],arr[right]) 

    mid = int((left + right) / 2) 

    leftMax = dividAndConquer(arr,left,mid) 

    rightMax = dividAndConquer(arr,mid,right) 

    return max(leftMax,rightMax) 

arr1 = [8, 1, 14, 19, 5] 

print(dividAndConquer(arr1,0,4))

A.

1

B.

19

C.

8

D.

5

23.

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

def reverseA(s):

    t=""

    for i in range(0,len(s)):

        t=s[i]+t

    return t

print(reverseA("reverse"))

A.

esrever

B.

reverse

C.

rsereve

D.

rseveer

24.

某自定义函数中使用了3个变量,其中2个变量都指定了默认值,调用该函数时,参数的个数最少为几个?( )

A.

0

B.

2

C.

3

D.

1

25.

以下关于递归与递推的说法,错误的是?( )

A.

递归算法不涉及高深的数学知识,比较容易理解。

B.

递归过程一般通过函数或子过程来实现。

C.

递归算法是递推分解问题,然后再将最简单情况的解回归成大问题的解。

D.

存在既可以用递归算法解决,也可以用递推算法解决的问题。


二、判断题

1.

在定义一个函数时,如果出现调用自身的成分,则称为递推。( )

A.正确 B.错误
2.

Python定义函数时如果没有参数,也不能省略后面的空括号。( )

A.正确 B.错误
3.

同样的问题使用不同的算法编程解决,其时间复杂度可能不一样。( )

A.正确 B.错误
4.

二分搜索、快速排序可以使用分治算法进行求解。( )

A.正确 B.错误
5.

递归算法通常显得很简洁,因为多次调用自身,所以运行效率较高,应该大力提倡用递归算法设计程序。( )

A.正确 B.错误
6.

在Python中,可以在自定义函数中再定义函数。( )

A.正确 B.错误
7.

导入模块中指定成员时,可采用的语句是:import  成员名1,成员名2   from  模块名。( )

A.正确 B.错误
8.

调用带有默认值参数的函数时,不能为默认值参数传递任何值,只能使用函数定义时设定的默认值。( )

A.正确 B.错误
9.

函数中return语句只能放在函数定义的最后。( )

A.正确 B.错误
10.

函数的参数分为形参和实参两种,函数调用中实参和形参的值可以互相传递。( )

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