#113. CIE Python 四级 2024年03月 客观题

CIE Python 四级 2024年03月 客观题

一、单选题(共25题,共50分)

  1. 运行如下代码,若输入整数3,则最终输出的结果为?( )
def f(x):
    if x==1:
        s=1
    else:
        s=f(x-1)*x
    return s

n=int(input("请输入一个大于1的整数:"))
print(f(n)+f(n-1))

{{ select(1) }}

  • 2
  • 4
  • 8
  • 16
  1. 运行下列程序,输出的结果是?( )
def fun(x):
    if x > 3:
        return x * fun(x-1)
    else:
        return x
print(fun(6))

{{ select(2) }}

  • 120
  • 360
  • 720
  • 60
  1. 下列关于递归的描述不正确的是?( )

{{ select(3) }}

  • 递归函数一定包含if语句
  • 递归函数体内一定包含调用自身的语句
  • 在调用自身函数时需要明确的边界终止条件与边界值
  • 递归算法一般代码简洁,执行效率高,空间复杂度低
  1. 运行下列程序,输出的结果是?( )
def fun(a, n):
    s = 0
    for i in range(1, n+1):
        temp = str(a)*i
        s += int(temp)
    return s

print(fun(1, 3))

{{ select(4) }}

  • 3
  • 6
  • 12
  • 123
  1. 运行下列程序,输出的结果是?( )
def fun(a, b):
    s = 0
    a = a[::-1]
    for i in range(len(a)):
        s += int(a[i])*b**i
    return s

print(fun('45', 16))

{{ select(5) }}

  • 69
  • 45
  • 64
  • 61
  1. 一个荷花池,第一天荷花开放得很少,第二天开放的数量是第一天的两倍,之后的每一天,荷花都会以前一天两倍的数量开放。如果到第30天,荷花就开满了整个池塘,设第一天开一朵,编程求第30天共开了多少朵荷花。下面空白处的代码填写正确的是?( )
s = 0
t = 1
for i in range(1,        ①        ):    
    s += t
            ②        
print(s)

{{ select(6) }}

  • 30, t = t*2
  • 31, t = t*2
  • 31, t+=2
  • 30, t*=2
  1. 解决下列问题时,时间复杂度最大的是?( )

{{ select(7) }}

  • 输入n个不同的包含两位小数的实数,计算这n个数的和
  • 在n个数据中,查找数据k
  • 将n个数据用冒泡排序实现排序
  • 计算算式1-2+3-4+...-n的结果,n为偶数
  1. 以下关于分治算法的描述正确的是?( )

{{ select(8) }}

  • 各个子问题既相互独立又相互联系
  • 问题可以分解成若干个规模较小的相同问题
  • 可以直接对问题进行求解
  • 子问题的解不能合并成原问题的解
  1. 下列选项中哪一项使用了分治算法?( )

{{ select(9) }}

  • 二分搜索
  • 选择搜索
  • 插入搜索
  • 顺序搜索
  1. 不超过20个元素的降序数列,使用对分查找能找到指定的元素,可能的查找次数不包括?( )

{{ select(10) }}

  • 3
  • 4
  • 5
  • 6
  1. 下面程序段的输出结果是?( )
def add_Run(L=None):
    if L is None:
        L = ['Lying']
    else:
        L.append('Run')
    return L
add_Run()
print(add_Run())
print(add_Run(['Lying']))

{{ select(11) }}

  • ['Lying'] ['Run']
  • ['Lying'] ['Lying'] ['Lying', 'Run']
  • ['Lying'] ['Lying', 'Run']
  • [] ['Lying', 'Run']
  1. 下面关于计数器的程序,输出结果正确的是?( )
count = 0
def increment():
        global count
        count += 1
        print("计数器的值:", count)
increment()
increment() 
increment()  

{{ select(12) }}

  • 计数器的值: 1
    计数器的值: 2
    计数器的值: 3
    
  • 计数器的值:0
    计数器的值:1
    计数器的值:2
    
  • 计数器的值: 1
    计数器的值: 1
    计数器的值: 1
    
  • 计数器的值:3
    
  1. 下列程序段的输出结果是?( )
L = []
x = 3
def  test(x):
       L.append(x)
       x = 5
test(x)
print('L = {}, x = {}'.format(L, x))

{{ select(13) }}

  • L = [3], x = 3
  • L = [5], x = 5
  • L = [3], x = 5
  • L = 3, x = 5
  1. 以下程序,运行程序输出结果正确的是?( )
def demo(x):
    return x*2
print(demo(demo(1)))

{{ select(14) }}

  • return None
  • 2
  • 4
  • 8
  1. Python使用下列哪个函数接收用户输入的数据?( )

{{ select(15) }}

  • accept()
  • input()
  • print()
  • login()
  1. 下面程序段的输出结果正确的是?( )
def  power():
     x ='python'
     y = 'world'
     z = x + " " + y
     return z
print(power())

{{ select(16) }}

  • z
  • x + " " + y
  • python world
  • python" "world
  1. 下列关于Python函数的描述中,不正确的是?( )

{{ select(17) }}

  • 自定义函数时用到的关键字是def
  • 在python函数中,至少有一条return语句
  • 函数print()可以一次输出多个参数,如print('1',"2",3,[4])
  • 用函数eval()可以用于求字符串里表达式的值,如eval('3+5-1')
  1. 关于以下代码的描述中,正确的是?( )
#求两个正方形的面积差
def MianJiCha(a,b):
    s=a**2-b**2 
    return s

a=5
b=10
c=MianJiCha(b,a)+a

{{ select(18) }}

  • 代码运行后,变量c的值是80
  • 函数名是MianJiCha(a,b)
  • 可以用MianJiCha(100)的形式调用此函数
  • 代码运行时会报错
  1. 下列关于Python函数的说法中,错误的是?( )

{{ select(19) }}

  • 利用函数可以降低编程复杂度,增加代码可读性
  • 函数可以重复调用
  • 函数可以降低修改代码的工作量
  • 调用函数时,每次都必须输入相同的参数值
  1. 下列选项中,调用下列代码定义的函数时,程序会报错的是?( )
def ShuChu(a,b,c):
    print(c,b,a)

{{ select(20) }}

  • ShuChu('1','2','3')
  • ShuChu('1','2','3,4')
  • ShuChu(1,2,3)
  • ShuChu(1,2,3,4)
  1. 下列选项中,调用以下代码定义的函数时,程序会报错的是?( )
def kp(a,b,c):
    print(a,b,c)

{{ select(21) }}

  • kp(1,b=2,3)
  • kp(a=3,b=1,c=2)
  • kp(1,2,3)
  • kp(1,b=2,c=3)
  1. 下列代码的输出结果是?( )
>>>s=lambda m,n:m*n
>>>s(6,6)

{{ select(22) }}

  • 6
  • 6,6
  • 36
  • 12
  1. 以下函数定义错误的选项是?( )

{{ select(23) }}

  • def aFunc(m,n):
        print(m,n)
    
  • def aFunc(m,n=2):
        print(m,n)
    
  • def aFunc(*m,n):
        print(m,n)
    
  • def aFunc(m,*n):
        print(m,n)
    
  1. 用于安装Python第三方库的工具是?( )

{{ select(24) }}

  • install
  • pip
  • Wheel
  • setup
  1. 编程时,如果只需要导入某第三方库中的某个成员,需要使用到的关键字是?( )

{{ select(25) }}

  • from
  • as
  • into
  • inport

二、判断题(共10题,共20分)

  1. 若某个问题既能用递归算法求解,又能用递推算法求解,则使用递归方法求解更容易,效率也高得多。( )

{{ select(26) }}

  • 正确
  • 错误
  1. 如下代码因为递归的边界条件设置错误,产生了无限递归程序报错。( )
def fun(n):
    if n > 10:
        return 0
    else:
        return n + fun(n-1)
print(fun(10))

{{ select(27) }}

  • 正确
  • 错误
  1. 算法的时间复杂度与空间复杂度没有必然关系。( )

{{ select(28) }}

  • 正确
  • 错误
  1. 已知有n本按照书名拼音排序好的图书,使用对分查找法搜索其中任何一本书,最多查找次数为4次,则n的值有可能为10。( )

{{ select(29) }}

  • 正确
  • 错误
  1. 函数定义语句def f(c=1,d=2,a,b):是正确的,因为默认值形参要放在前面。( )

{{ select(30) }}

  • 正确
  • 错误
  1. return语句可以返回任何数据类型的值,包括整数、浮点数、字符串、列表、元组、字典等。( )

{{ select(31) }}

  • 正确
  • 错误
  1. 运行下面的代码后,输出结果为{'a':1}。( )
def ZiDian(**kwargs):
    print(kwargs)
ZiDian(a=1)

{{ select(32) }}

  • 正确
  • 错误
  1. 以下代码可以正常运行,输出8。( )
def qh(a,b=3):
    print(a+b)
qh(b=2,6)

{{ select(33) }}

  • 正确
  • 错误
  1. 代码>>>lambda:x=2,y=3:x+y的运行结果是5。( )

{{ select(34) }}

  • 正确
  • 错误
  1. 使用pip install --upgrade numpy命令能够升级numpy科学计算库。( )

{{ select(35) }}

  • 正确
  • 错误