#118. CIE Python 四级 2025年06月 客观题
CIE Python 四级 2025年06月 客观题
一、单选题
- 在Python中自定义函数f(x,y,z),参数x、y、z是整型变量,下列函数调用语句正确的是?( )
{{ select(1) }}
ff1,f2,f3f(1,2,3)f(123)
- 有如下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
- 有如下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
- 有如下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
- 有如下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
- 运行以下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
- 在Python中显示第三方库的详细信息的pip指令是?( )
{{ select(7) }}
pip install <第三方库名>pip list <第三方库名>pip show <第三方库名>pip download <第三方库名>
- 生成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)
- 小明想用lambda函数计算两个数的平方和,正确的写法是?( )
{{ select(9) }}
lambda a,b: a**2 + b**2lambda a,b: return a**2 + b**2lambda a,b -> a**2 + b**2lambda (a,b): a**2 + b**2
- 五一节庆到来,各大商场都推出折扣活动,小红打算写一个计算折扣的函数,但调用时报错,以下是小红编写的代码,错误的原因是?( )
def discount(price=100, rate):
return price * rate
print(discount(80))
{{ select(10) }}
- 默认参数 price 必须放在最后
- rate 未指定默认值
- 语法正确,无错误
- 缺少关键字参数
- 小刚用lambda函数计算游戏技能冷却时间,以下代码的结果是?( )
cool_down = lambda t: t // 2 + 5
print(cool_down(10))
{{ select(11) }}
- 计算10秒的冷却时间为15秒
- 计算10秒的冷却时间为10//2+5=10秒
- 计算10秒的冷却时间为5秒
- 语法错误
- 老师想用
*args统计学生成绩总和,以下正确的结果是?( )
def total_score(*scores):
return sum(scores)
print(total_score(80, 90, 70))
{{ select(12) }}
- 240
- (80, 90, 70)
- 报错
- 0
- 以下lambda函数中,哪个会因变量未定义而报错?( )
{{ select(13) }}
lambda x: x + ylambda x: x*2lambda x,y=5: x+ylambda x: x**0.5
- 下列关于函数的描述正确的是?( )
{{ select(14) }}
- 函数中必须return语句
- 函数优点是模块化,但不能提高代码的利用率
- 定义函数内容以冒号起始,可以不缩进
- 函数是可重复使用的,用来实现单一或相关联功能的代码段
- 社团活动中,小明分享一个编好的程序,小伙伴们试运行结果是?( )
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
- 某物流公司需要每日处理数十万条配送路线数据,技术团队考虑使用分治算法或顺序查找算法进行路线规划,以优化货车路径并减少燃油消耗。已知城市大部分路线可分解为独立子问题。在以下哪种情况下,分治算法相比顺序查找更具优势?( )
{{ select(16) }}
- 当子问题之间存在大量重叠,需要重复计算时
- 当问题可以分解为相互独立的子问题,且合并结果简单时
- 当需要全局最优解且所有子问题必须精确计算时
- 当问题规模较小,递归调用不会导致栈溢出时
- 小明用“分治算法”编写了一个函数。他的任务是计算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)
- 小明的班级有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]
- 光明小学有128位同学参加夏令营,老师为这些学生从1~128编上号码。现在老师随机抽取一个号码,让小明找到这位同学,小明想用二分查找的方法去查找,请问最差情况下需要查找几次才能找到这位同学?( )
{{ select(19) }}
- 5
- 6
- 7
- 8
- 在Python编程语言中,下面程序的输出结果是?( )
def f(a, b, c=0):
return a + b + c
print(f(3, 9))
{{ select(20) }}
- 12
- 3
- 9
- 报错
- 一张彩纸厚度为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天做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)
- 小陈每年存100元,年利率5%,要计算5年后总额(假设年利率没有变化),下面Python程序段采用的算法是哪种?( )
def total_money(n):
money = 0
for i in range(n):
money = (money + 100) * 1.05
return money
{{ select(23) }}
- 递归
- 二分法
- 递推
- 冒泡排序
- 小明每天跑步距离是前一天的两倍,下列哪个选项可表示第n天距离?( )
{{ select(24) }}
dis[n] = dis[n-1] * 2dis[n] = dis[n-1] + 2dis[n] = 2^ndis[n] = n * 2
- 某社团志愿者人数每天增长量为前一天的1.5倍,若第1天增长100人,用递归法计算第5天增长量,下面Python代码①处应该填入哪个选项?( )
def growth(n):
if n == 1:
return 100
return ①
{{ select(25) }}
growth(n-1) + 1001.5 ** (n-1) * 100growth(n-1) * 1.5growth(n-1) * n
二、判断题
- 有如下Python程序,
def jf(a,b=0):
return a+b
使用语句 jf(10) 调用函数,程序后输出10。( )
{{ select(26) }}
- 正确
- 错误
- 调用Python库时可以给其取一个别名,如执行语句
import numpy as np后,在程序中可以用np代替numpy。( )
{{ select(27) }}
- 正确
- 错误
- 函数内修改全局变量时,必须使用global声明,否则会创建同名局部变量。( )
{{ select(28) }}
- 正确
- 错误
- Python语言编程中,必须把每一个循环语句组封装起来,设计成函数。( )
{{ select(29) }}
- 正确
- 错误
- 将代码封装成函数可以提高程序的执行速度。( )
{{ select(30) }}
- 正确
- 错误
- 下面的Python程序的时间复杂度是否为?( )
n = 1000
total = 0
for i in range(n):
for j in range(i, n):
total += 1
print(total)
{{ select(31) }}
- 正确
- 错误
- 在用"分治算法"计算时,为了体现”分而治之“的算法思想,我们可以先把问题分解成,而不是直接计算。( )
{{ select(32) }}
- 正确
- 错误
- 在Python语言编程中,递归函数必须包含for循环。( )
{{ select(33) }}
- 正确
- 错误
- 递推算法必须有明确的递推公式才能实现。( )
{{ select(34) }}
- 正确
- 错误
- 定义函数时含有位置参数和关键字参数时,关键字参数必须写在位置参数之后,否则会造成语法错误。( )
{{ select(35) }}
- 正确
- 错误