#118. CIE Python 四级 2025年06月 客观题

CIE Python 四级 2025年06月 客观题

一、单选题

  1. 在Python中自定义函数f(x,y,z),参数x、y、z是整型变量,下列函数调用语句正确的是?( )

{{ select(1) }}

  • f
  • f1,f2,f3
  • f(1,2,3)
  • f(123)
  1. 有如下Python程序段,执行该程序段后,输出的结果是?( )
def fun(x,y):
    if x >y:
        rst = 2 ** x
    else:
        rst = x ** 2
    return rst
x,y = 3,5
print(fun(x,y))

{{ select(2) }}

  • 6
  • 10
  • 9
  • 25
  1. 有如下Python程序段,执行该程序段后,输出的结果是?( )
def js(x,y):
    rst = x * y - x // y
    return rst
x,y = 3,5
print(js(x,y))

{{ select(3) }}

  • 15
  • 14.4
  • 13.67
  • 8
  1. 有如下Python程序段,执行该程序段后,输出的结果是?( )
def zdz(a):
    m = 0
    for i in range(1,len(a)):
        if a[i] > a[m]:
            m = i
    return m
a = [1,5,6,5,4,3,9,0,8,9]
print(zdz(a))

{{ select(4) }}

  • 7
  • 9
  • 6
  • 0
  1. 有如下Python程序段,执行该程序段后输出的结果是?( )
def fac(n):
    s = 1
    for i in range(1,n+1):
        s = s * i
    return s
print(fac(5))

{{ select(5) }}

  • 0
  • 6
  • 24
  • 120
  1. 运行以下Python程序,表述中错误的选项是?( )
def de(a,b): 
    c=a*2+b 
    b=a 
    return c 
a=10 
b=20
c=de(a,b)+b

{{ select(6) }}

  • 该函数名称为de
  • 执行该函数后,变量a的值为10
  • 执行该函数后,变量b的值为20
  • 执行该函数后,变量c的值为50
  1. 在Python中显示第三方库的详细信息的pip指令是?( )

{{ select(7) }}

  • pip install <第三方库名>
  • pip list <第三方库名>
  • pip show <第三方库名>
  • pip download <第三方库名>
  1. 生成1-10之间的随机整数,下列程序段不能实现该功能的是?( )

{{ select(8) }}

  • import random
    t = random.randint(1,10)
    
  • import random as ran
    t = ran.randint(1,10)
    
  • from random import randint
    t = randint(1,10)
    
  • import random
    t = randint(1,10)
    
  1. 小明想用lambda函数计算两个数的平方和,正确的写法是?( )

{{ select(9) }}

  • lambda a,b: a**2 + b**2
  • lambda a,b: return a**2 + b**2
  • lambda a,b -> a**2 + b**2
  • lambda (a,b): a**2 + b**2
  1. 五一节庆到来,各大商场都推出折扣活动,小红打算写一个计算折扣的函数,但调用时报错,以下是小红编写的代码,错误的原因是?( )
def discount(price=100, rate):
    return price * rate
print(discount(80))

{{ select(10) }}

  • 默认参数 price 必须放在最后
  • rate 未指定默认值
  • 语法正确,无错误
  • 缺少关键字参数
  1. 小刚用lambda函数计算游戏技能冷却时间,以下代码的结果是?( )
cool_down = lambda t: t // 2 + 5
print(cool_down(10))

{{ select(11) }}

  • 计算10秒的冷却时间为15秒
  • 计算10秒的冷却时间为10//2+5=10秒
  • 计算10秒的冷却时间为5秒
  • 语法错误
  1. 老师想用 *args 统计学生成绩总和,以下正确的结果是?( )
def total_score(*scores):
    return sum(scores)
print(total_score(80, 90, 70))

{{ select(12) }}

  • 240
  • (80, 90, 70)
  • 报错
  • 0
  1. 以下lambda函数中,哪个会因变量未定义而报错?( )

{{ select(13) }}

  • lambda x: x + y
  • lambda x: x*2
  • lambda x,y=5: x+y
  • lambda x: x**0.5
  1. 下列关于函数的描述正确的是?( )

{{ select(14) }}

  • 函数中必须return语句
  • 函数优点是模块化,但不能提高代码的利用率
  • 定义函数内容以冒号起始,可以不缩进
  • 函数是可重复使用的,用来实现单一或相关联功能的代码段
  1. 社团活动中,小明分享一个编好的程序,小伙伴们试运行结果是?( )
def add(*arge):
    s=0
    for i in args:
        s+=i
    return s
s=add(2,3,4,5)
print(s)

{{ select(15) }}

  • 12
  • 13
  • 14
  • 15
  1. 某物流公司需要每日处理数十万条配送路线数据,技术团队考虑使用分治算法或顺序查找算法进行路线规划,以优化货车路径并减少燃油消耗。已知城市大部分路线可分解为独立子问题。在以下哪种情况下,分治算法相比顺序查找更具优势?( )

{{ select(16) }}

  • 当子问题之间存在大量重叠,需要重复计算时
  • 当问题可以分解为相互独立的子问题,且合并结果简单时
  • 当需要全局最优解且所有子问题必须精确计算时
  • 当问题规模较小,递归调用不会导致栈溢出时
  1. 小明用“分治算法”编写了一个函数。他的任务是计算1+2+3+......+100的和。请选择下列哪一项填入①处,使程序运行成功?( )
def sum_range(start, end):
    if start == end:
        return start
    mid = (start + end) // 2
    return sum_range(start, mid) +         ①        
print(sum_range(1, 100))

{{ select(17) }}

  • sum_range(mid, end)
  • sum_range(mid+1, end)
  • sum_range(mid+1, end+1)
  • sum_range(mid, end-1)
  1. 小明的班级有8个同学,每个人身上贴了一个不同的数字,现在要举办一场”快速排序比赛“,规则如下:
  • (1)设置两个变量i, j,排序开始时,i=0,j=N-1 。
  • (2)以第一个元素作为关键数据,将其赋值给key, 即key = A[0] 。
  • (3)从j开始向前搜索,即由后向前搜索(j--), 找到第一个小于key的值A[j],将A[j]与A[i]交换。
  • (4)从i开始向后搜索,即由前向后搜索(i++),找到第一个大于key的值A[i], 将A[i]与A[j]交换。
  • (5)重复第(3),(4)步骤,直到i==j;
  • (6)分成的前后两组数据,分别再按(1)~(5)递归排序,直到全部数据有序排列。

初始队伍顺序:[5, 3, 9, 1, 7, 2, 8, 6] 请问如果第一趟快速排序后,分组结果是什么?( )

{{ select(18) }}

  • 前面[2, 3, 1], 后面[9, 7 , 8, 6]
  • 前面[1, 2, 3], 后面[7, 9, 8, 6]
  • 前面[2, 3, 1], 后面[7, 9, 8, 6]
  • 前面[2, 1, 3], 后面[9, 7, 8, 6]
  1. 光明小学有128位同学参加夏令营,老师为这些学生从1~128编上号码。现在老师随机抽取一个号码,让小明找到这位同学,小明想用二分查找的方法去查找,请问最差情况下需要查找几次才能找到这位同学?( )

{{ select(19) }}

  • 5
  • 6
  • 7
  • 8
  1. 在Python编程语言中,下面程序的输出结果是?( )
def f(a, b, c=0):
    return a + b + c
print(f(3, 9))

{{ select(20) }}

  • 12
  • 3
  • 9
  • 报错
  1. 一张彩纸厚度为0.2mm,求对折20次后的厚度,下面Python代码错误的地方是?( )
width= 0.2 
for i in range(1,20):
    width = width *2

{{ select(21) }}

  • 循环体错误,应该是width = width **2
  • 循环次数错误,应该是range(20)
  • 循环次数错误,应该是range(19)
  • 循环体错误,应该是width +=width *2
  1. 小明每天做俯卧撑,第1天做10个,之后每天比前一天多2个。可以计算5天总训练量的Python递推程序是下列哪个选项?( )

{{ select(22) }}

  • total = 0 
    for day in range(1,6): 
        total += 8 + 2*day
    
  • total = 10 
    for _ in range(4): 
        total += total + 2 
    
  • total = 10 
    current = 10 
    for _ in range(4): 
        current += 2 
        total += current 
    
  • def push_up(n): 
        return 10*n + 2*(n-1) 
    
  1. 小陈每年存100元,年利率5%,要计算5年后总额(假设年利率没有变化),下面Python程序段采用的算法是哪种?( )
def total_money(n):
    money = 0
    for i in range(n):
        money = (money + 100) * 1.05
    return money

{{ select(23) }}

  • 递归
  • 二分法
  • 递推
  • 冒泡排序
  1. 小明每天跑步距离是前一天的两倍,下列哪个选项可表示第n天距离?( )

{{ select(24) }}

  • dis[n] = dis[n-1] * 2
  • dis[n] = dis[n-1] + 2
  • dis[n] = 2^n
  • dis[n] = n * 2
  1. 某社团志愿者人数每天增长量为前一天的1.5倍,若第1天增长100人,用递归法计算第5天增长量,下面Python代码①处应该填入哪个选项?( )
def growth(n): 
    if n == 1: 
        return 100 
    return         ①        

{{ select(25) }}

  • growth(n-1) + 100
  • 1.5 ** (n-1) * 100
  • growth(n-1) * 1.5
  • growth(n-1) * n

二、判断题

  1. 有如下Python程序,
def jf(a,b=0): 
    return a+b 

使用语句 jf(10) 调用函数,程序后输出10。( )

{{ select(26) }}

  • 正确
  • 错误
  1. 调用Python库时可以给其取一个别名,如执行语句import numpy as np后,在程序中可以用np代替numpy。( )

{{ select(27) }}

  • 正确
  • 错误
  1. 函数内修改全局变量时,必须使用global声明,否则会创建同名局部变量。( )

{{ select(28) }}

  • 正确
  • 错误
  1. Python语言编程中,必须把每一个循环语句组封装起来,设计成函数。( )

{{ select(29) }}

  • 正确
  • 错误
  1. 将代码封装成函数可以提高程序的执行速度。( )

{{ select(30) }}

  • 正确
  • 错误
  1. 下面的Python程序的时间复杂度是否为O(n2)O(n^2)?( )
n = 1000
total = 0
for i in range(n):
    for j in range(i, n):
        total += 1
print(total)

{{ select(31) }}

  • 正确
  • 错误
  1. 在用"分治算法"计算848^4时,为了体现”分而治之“的算法思想,我们可以先把问题分解成82828^2 * 8^2,而不是直接计算88888*8*8*8。( )

{{ select(32) }}

  • 正确
  • 错误
  1. 在Python语言编程中,递归函数必须包含for循环。( )

{{ select(33) }}

  • 正确
  • 错误
  1. 递推算法必须有明确的递推公式才能实现。( )

{{ select(34) }}

  • 正确
  • 错误
  1. 定义函数时含有位置参数和关键字参数时,关键字参数必须写在位置参数之后,否则会造成语法错误。( )

{{ select(35) }}

  • 正确
  • 错误