#569. 202409中国电子学会Python编程等级测试四级(客观题)

202409中国电子学会Python编程等级测试四级(客观题)

选择题

  1. 一款经典的猜数字游戏:甲先在50以内随意写一个数字,乙开始猜,如果乙猜的比甲写的数大了,甲就说大了,反之,则说小了。请问根据对分查找思想,乙最多用多少次能猜出甲写的正确数字?( )

{{ select(1) }}

  • 10
  • 8
  • 6
  • 4

  1. 二分查找法是利用了哪种算法思想?

{{ select(2) }}

  • 动态规划
  • 分治算法
  • 递推算法
  • 递归算法

  1. 运行下列程序后,输出的结果是?( )
def f(n):
    if(n==1):
        return 1
    return n*f(n-1)
print(f(5))

{{ select(3) }}

  • 24
  • 120
  • 15
  • 5

  1. 下列定义计算圆周长的匿名函数中,正确的是?( )

{{ select(4) }}

  • lambda r : 2r*3.14
  • lambda r,3,142r
  • rst = lambda r,3.14r2
  • rst = lambda r : 3.14*2*r

  1. 有如下Python程序段,在调用函数sjc时实参是?
def sjc(x):
    a,b=1,1
    print(a,b,x)
sjc(20)

{{ select(5) }}

  • 20
  • 1
  • a
  • b

  1. 下列有关匿名函数lambda的描述,错误的是?( )

{{ select(6) }}

  • lambda表达式可以包含一个表达式
  • 在匿名函数中需要使用return来返回值
  • lambda表达式可以调用其他函数
  • 定义匿名函数时,要将它赋值给一个变量

  1. 下列程序,运行的结果是?( )
def qh(a,b,c=5):
    return a+b+c
print(qh(5,10),qh(10,10,10))

{{ select(7) }}

  • 15 25
  • 20 25
  • 20 30
  • 15 30

  1. 有如下Python程序段,执行该程序段后的结果是?( )
def area(r,pi=3.14):
    return r*r*pi
print(area(3,10))

{{ select(8) }}

  • 90
  • 28.26
  • 314
  • None

  1. fun函数可以传入的参数a不确定有多少个,划线处的代码正确的是?( )
def fun(___):
    pass

{{ select(9) }}

  • a
  • a[]
  • a()
  • *a

  1. 请选择下面代码的输出结果是?( )
def f(n):
    n += 1
    return n
x = 10
y = f(x)
print(y)

{{ select(10) }}

  • 10
  • 11
  • 12
  • None

  1. 执行如下Python程序,语句“s=s+i”被执行的次数是?( )
def f(n):
    s = 0
    for i in range(1,n):
        if i % 3 == 0 or i % 2 == 0:
            s = s+i
f(10)

{{ select(11) }}

  • 5
  • 6
  • 7
  • 8

  1. 有如下Python程序段,执行该程序后,输出的结果是?( )
def qh(n):
    s , f = 0,1
    for i in range(1,n+1):
        s += f * i
        f = -f
    return s
print(qh(4))

{{ select(12) }}

  • 10
  • 2
  • -2
  • -10

13.有如下Python程序,运行后fac(a)函数被调用了几次?( )

def fac(a):
    if a == 1:
        return 1
    else:
        return a + fac(a-1)
print(fac(6))

{{ select(13) }}

  • 5
  • 6
  • 7
  • 8

  1. Python中对已经安装的第三方库进行更新,使之升级到最新版本的pip指令是?( )

{{ select(14) }}

  • pip install <第三方库名>
  • pip install -U <第三方库名>
  • pip download <第三方库名>
  • pip search <第三方库名>

  1. Python中可以通过import math 语句导入math函数库,下列选项中可以实现向下取整的是?( )

{{ select(15) }}

  • math.ceil()
  • math.sqrt()
  • math.round()
  • math.floor()

  1. 以下代码的时间复杂度是多少?( )
i = 1
n = 100
while i < n:
    i = i * 2

{{ select(16) }}

  • O(n)
  • O(log2N)
  • O(n*n)
  • O(n2)

  1. 以下哪种函数一定是直接或间接调用函数本身的函数?( )

{{ select(17) }}

  • 自定义函数
  • 库函数
  • 匿名函数
  • 递归函数

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

{{ select(18) }}

  • 代码简明
  • 一定要有基例(指不需要递归就能求解得的解)值
  • 递归算法都可以用非递归的方法实现
  • 自定义函数体通常使用循环程序结构

  1. 实现递推算法的核心程序结构通常是使用?( )

{{ select(19) }}

  • 顺序结构
  • 自定义函数
  • 循环结构
  • 分支结构

  1. 关于递归与递推算法,表述不准确的观点是?( )

{{ select(20) }}

  • 递推算法在计算过程中利用已知条件,不断用变量的旧值递推出变量的新值,直至得到结果的算法
  • 递推算法利用循环结构来实现
  • 递归算法把问题转化为规模缩小了的同类问题的子问题,然后再递归调用函数或过程来求得问题的解
  • 由于递归算法的实现代码简明精练,因此实际工作中要尽量采用递归算法解决问题,以提高工作效益

  1. 实际应用中,一般不采用递归的方法来解决层次或序列规模较大的计算问题,其原因是?( )

{{ select(21) }}

  • 递归结束条件不易满足
  • 代码变得复杂
  • 运行过程容易出错
  • 算法运行所需的空间消耗增大,运行效率下降很快

  1. 运行下列Python程序后的结果是?( )
def f(n):

        n=n*2
        return n
a=[7,1]
b=f(a)
print(a,b)

{{ select(22) }}

  • [7,1],[7,1,7,1]
  • [7,1],[14,2]
  • [7,1],[7,1],[7,1]
  • [7,1],[7,1]

  1. 陈丽把自己每天的学习时间情况记录在文本文件“record.txt”中,现在她想用Python程序打开并读取某天的学习时间情况,请问打开文件的正确操作的是?( )

{{ select(23) }}

  • open('record.txt','r')
  • close('record.txt','r')
  • write('record.txt')
  • readline('record.txt')

  1. 小明设计了一个计算矩形体积的函数,以下调用函数的四个选项中,参数传递错误的是?( )
def vol(length,width,height):

    v = length * width * height

    return v

{{ select(24) }}

  • s = vol(3,4,7)
    print(s)
    
  • s = vol(3, 7,width=4)
    print(s)
    
  • s = vol(3,height=7,width=4)
    print(s)
    
  • s = vol(3, width=4,height=7)
    print(s)
    

  1. 小陈编写了一段计算超市打折活动的程序,运行时报错,原因可能是下面哪项?( )
def discount(price,rate):
    final_price = price * rate
old_price = float ( input ('请输入原价:'))
rate = float (input ('请输入折扣率:'))
discount ( old_price , rate )
print ('打折后价格是:',final_price )

{{ select(25) }}

  • 调用函数时参数传递错误,应该以参数名price传递
  • final_price是局部变量,只在函数体内生效
  • 定义函数时,没有定义参数的类型
  • 函数体没有return语句,函数执行完毕后返回结果为None

判断题

  1. 对数组进行快速排序是利用分治的思想,整个排序过程可以递归进行,算法效率高效,是一种稳定的排序算法,时间复杂度为O(nlogn)。( )

{{ select(26) }}

  • 正确
  • 错误

  1. 把实现相同功能的代码作为一个代码块封装在一起,形成函数。( )

{{ select(27) }}

  • 正确
  • 错误

  1. 调用函数时如果位置实参和关键字实参两种方式混用,位置实参必须要放在关键字实参之前。( )

{{ select(28) }}

  • 正确
  • 错误

  1. 有如下Python程序段,运行该程序段后,将提示错误。( )
def js(x=3,y):
      print(x,y)
js(10)

{{ select(29) }}

  • 正确
  • 错误

  1. 我们可以通过import模块的方法安装Python第三方库。 ( )

{{ select(30) }}

  • 正确
  • 错误

  1. 如果执行算法所需的临时空间不会随变量的变化而变化,那么该算法的空间复杂度为一个常量。( )

{{ select(31) }}

  • 正确
  • 错误

  1. 递归函数中,一定要包含对自身的调用,而且一定要有终止条件。( )

{{ select(32) }}

  • 正确
  • 错误

  1. 递推算法设计时,首要任务是寻找规律,确定递推表达式,从而求解问题。( )

{{ select(33) }}

  • 正确
  • 错误

  1. 在Python语法中,全局变量只能在主程序中使用,局部变量只能在局部函数中可用。( )

{{ select(34) }}

  • 正确
  • 错误

  1. Python自定义函数时,传递参数的数量必须是明确的。( )

{{ select(35) }}

  • 正确
  • 错误