#116. CIE Python 四级 2024年12月 客观题
CIE Python 四级 2024年12月 客观题
一、单选题(共25题,共50分)
- 以下有关位置实参和关键字实参的表述中,错误的选项是?( )
{{ select(1) }}
- 位置实参和关键字实参可以混用
- 形参不占用内存地址
- 调用函数时,如给函数提供了实参,则优先使用实参,同时更改形参的默认值,便于下次调用
- 形参设定默认值,是为了简化函数的调用
- Python中,无需导入math库,可以直接使用的函数是?( )
{{ select(2) }}
ceil()floor()round()sqrt()
- 如下代码,运行之后,最终打印结果是?( )
def P(a,b=3):
a=2
return a*b
print(P(3,4))
{{ select(3) }}
- 6
- 8
- 4
- 12
- 调用以下自定义函数时,将实参与形参进行关联,方式错误的是?( )
def f(a,b,c):
print(a,b,c)
{{ select(4) }}
f(1,2,3)f(b=2,a=1,c=3)f(1,b=2,3)f(1,2,c=3)
- 以下选项中,关于python函数参数的说法正确的是?( )
{{ select(5) }}
- 定义函数时不能省略参数
- 在调用函数之前,需对函数进行定义
- 可以给函数形参设置默认值,当函数调用时给定实参新的数值时,函数将使用默认值
- 函数中允许位置实参和关键字实参混用,没有先后顺序
- 关于计算圆锥体积的匿名函数的定义和使用,以下哪一个语法格式是正确的?( )
{{ select(6) }}
-
lambda r,h:3.14*r*r*h/3 print(lambda(5,10)) -
lambda r,h=9,3.14*r*r*h/3 print(lambda(5)) -
V=lambda r,h=9:3.14*r*r*h/3 print(V(5,10)) -
V=lambda r,h=9,3.14*r*r*h/3 print(V(5))
- 以下关于列表p内元素排序程序的时间复杂度为?( )
for a in range(n-1):
for b in range(n-1-i):
if(p[b]<p[b+1]):
tmp=p[b]
p[b]=p[b+1]
p[b+1]=tmp
{{ select(7) }}
- 下列哪个命令能显示电脑上已安装的Python库?( )
{{ select(8) }}
pip listpip dirpip printpip config
- Python中导入math模块中的sqrt(x)函数,下列程序段错误的是?( )
{{ select(9) }}
-
import math math.sqrt(x) -
from math import sqrt as sq sq(x) -
import math as m m.sqrt(x) -
import math sqrt(x)
- 有如下Python程序,执行该程序后输出的结果是?( )
def jc(a):
if a ==1 :
return 1
else:
return a * jc(a-1)
print(jc(jc(3)))
{{ select(10) }}
- 3
- 6
- 120
- 720
- 下列程序用递推的方法求数列的值,执行该程序后输出结果是?( )
def fib(n):
a=b=1
for i in range(3,n+1):
c=a+b
a=b
b=c
print(c)
fib(7)
{{ select(11) }}
- 21
- 13
- 8
- 5
- 阅读下列程序,运行结果正确的是?( )
def f(x):
if x==1:
return 0
else:
return (x*x-1)+f(x-1)
print(f(3))
{{ select(12) }}
- 10
- 11
- 12
- 13
- 下列关于递推算法思想的描述正确的是?( )
{{ select(13) }}
- 将一个大问题分解为若干子问题,且子问题与大问题是相同的问题,构成递推算法思想
- 递推算法思想需要有明确的终止条件
- 递推算法思想需要有明确的递推公式
- 任何问题都可以用递推算法解决
- 某农户养了若干只鸡。第一天卖掉其中一半加一只,以后每天都卖掉剩下的一半加一只。到第8天的时候发现只剩一只鸡了。请问该农户一开始有多少只鸡? 这个问题用下列什么算法解决?( )
{{ select(14) }}
- 递推
- 解析
- 枚举
- 分治
- 以下关于global关键字表述正确的是?( )
{{ select(15) }}
- global关键字只能在程序最开始初定义
- global关键字只能在变量使用前定义
- global关键字通过局部变量修改全局变量的值
- global关键字通过全局变量修改局部变量的值
- 运行下列代码,输出结果为?( )
def fun(x, y, z):
print(z, x)
fun(1, 2, 3)
{{ select(16) }}
- 1 2
- 3 2
- 3 1
- 1 3
- 以下是比较两个数的大小的函数,输出结果为?( )
def fun(a, b, c):
if a > b:
c = a
else:
c = b
print(fun(1, 2, 3))
{{ select(17) }}
- 1
- 2
- 3
- None
- 小明的妈妈在超市里买了一些商品,商品的价格放在列表里,现在超市对商品进行打折处理,请运行如下代码输出结果?( )
def fun(lst):
total = 0
for x in lst:
if x >= 100:
total += x * 0.5
else:
total += x
return total
goods = [140, 90, 120, 60]
print(fun(goods))
{{ select(18) }}
- 390.0
- 280.0
- 260.0
- 150.0
- 运行以下代码,请输出结果?( )
def fun(n):
s = 0
for i in range(n):
s += i
return s
print(fun(10))
{{ select(19) }}
- 55
- 45
- 50
- 60
- 运行以下代码,请输出结果?( )
def fun(x):
return x * x
print(fun(fun(fun(2))))
{{ select(20) }}
- 16
- 32
- 128
- 256
- 运行以下代码,请输出结果?( )
x = 0
def fun():
global x
x += 10
print(x)
fun()
print(x)
{{ select(21) }}
- 0 0
- 0 10
- 10 10
- 10 0
- 小明喜欢画画,他有一张大画布,画布上有一个大正方形。他想知道如果把这个大正方形分成4个小正方形,然后再把这4个小正方形各自再分成4个更小的正方形,这样一直分下去,最后会得到多少个正方形?根据解题思路请在下面横线上填上正确代码?( )
def fun(n):
if n == 0:
return 1
else:
return _________
print(fun(4))
{{ select(22) }}
fun(n-4) * 4fun(n-1) * 4fun(n-1) * 2fun(n-2) * 2
- 下面关于递归函数的说法,正确的是?( )
{{ select(23) }}
- 一般来说,递归函数的执行效率高于非递归函数
- 递归算法一般代码简洁,执行效率高,空间复杂度低
- 递归函数必须明确嵌套调用的次数
- 递归函数必须有明确的边界终止条件
- 现有24颗药丸,重量都是0.1g,其中一颗药丸不小心被污染了,外观没有变化,但是重量变重了。如果有一架天平,最多只能称重四次,要把这个被污染的药丸找出来。这个问题可以用下列哪种算法思想解决?( )
{{ select(24) }}
- 枚举
- 分治
- 递归
- 递推
- 物理实验课的电路故障分析,有一块电路板的AB两点间串联线路不通,是由于其中一处焊口脱落造成的。假设AB线路间有100个焊接点,现用二分法检测,找出焊口脱落点,至多需要检测多少次?( )
{{ select(25) }}
- 7
- 8
- 9
- 10
二、判断题(共10题,共20分)
- 在混合使用位置实参、关键字实参时,对应函数中有默认值的形参与没有默认值的形参位置没有要求,都可以通过关键字实参传值。( )
{{ select(26) }}
- 正确
- 错误
- 时间复杂度是用来衡量算法效率的重要指标,可以反应数据规模和代码执行时间之间关系。( )
{{ select(27) }}
- 正确
- 错误
- 定义函数或过程时,如果函数在内部调用函数本身,这个函数就是递归函数。( )
{{ select(28) }}
- 正确
- 错误
- 求斐波那契数列第n项可以用递归思想解决,也可以用递推思想解决。( )
{{ select(29) }}
- 正确
- 错误
- 安装Python第三方库只能使用pip命令。( )
{{ select(30) }}
- 正确
- 错误
- 运行如下代码:
fun = lambda x, y = 10 : y - x
print(fun(5, 8))
运行结果为:5。( )
{{ select(31) }}
- 正确
- 错误
- Python3.5之后的版本新增了对函数参数和返回值的类型指定和检查,新建变量时也可以指定类型。以下代码,只能接受str类型的参数,否则就会报错。( )
def say(name:str, greet:str)->str:
return name + greet
print(say("小明", "你好!"))
{{ select(32) }}
- 正确
- 错误
- 运行如下代码,输出结果为5。( )
x = 1
y = 5
def fun():
global x
x = 4
y = 3
if y > x:
return y
else:
return x
print(fun())
{{ select(33) }}
- 正确
- 错误
- 将一个难以直接解决的大问题,分类整理成几种规模较小的不同类问题,再分别击破的方法,就是分治算法。( )
{{ select(34) }}
- 正确
- 错误
- 函数中return语句可以有任意个,但是在函数运行过程中只会执行其中一个。( )
{{ select(35) }}
- 正确
- 错误