选择题 共25道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


判断题 共10道

26 27 28 29 30 31 32 33 34 35


编程题 共3道

36 37 38

E1054 CIE-202606-Python-四级-真题-练习

选择题 共25道
01 下列哪个Python函数调用会引发语法错误?( ) 2分
登录后查看选项
02 以下程序是用什么算法思维来输出数列2,3,5,8,13,21,34?( ) a,b=1,1 for i in range(3,10): c = a + b print(c) a = b b = c 2分
登录后查看选项
03 在有序列表 [2, 5, 8, 12, 16, 23, 38, 56, 72, 91] 中,用二分查找法寻找元素23,需要查找多少次?( ) 2分
登录后查看选项
04 以下Python代码的时间复杂度是?( ) for i in range( 1 ,10 ): #外循环 for j in range( i, 10 ): #内循环 print('%d*%d=%2d '%( i , j, i*j ), end=' ') print() 2分
登录后查看选项
05 运行以下Python代码,输出结果为?( ) def fun(x, y): x, y = y, x print(x, y) fun(y=1, x=2) 2分
登录后查看选项
06 小明想定义一个计算圆面积的函数,其中圆周率pi使用默认值3.14,但允许调用时指定其它值。下列哪个函数定义是正确的?( ) 2分
登录后查看选项
07 关于Python函数的描述,以下哪一项是正确的?( ) 2分
登录后查看选项
08 关于计算梯形面积的匿名函数的定义,以下哪一个语法格式是正确的?( ) 2分
登录后查看选项
09 关于函数,正确的描述是?( ) 2分
登录后查看选项
10 关于全局变量和局部变量,正确的描述是?( ) 2分
登录后查看选项
11 对于以下自定义函数,分别以myfunc(1,2,3)和myfunc(1,2)语句调用该函数,运行后的结果分别是?( ) def myfunc(a,b,c=2): print(a+b+c) 2分
登录后查看选项
12 在一个两重嵌套函数中,如果通过内层函数需要修改外层函数中变量的值,处理的方法是?( ) 2分
登录后查看选项
13 在自定义函数中,如果发现局部变量与全局变量同名,程序运行会发生什么情况?( ) 2分
登录后查看选项
14 运行以下Python程序,出现的结果是?( ) def jd(a,b,c = 1): disc = b *b-4*a *c return disc print(jd(1,3,5)) 2分
登录后查看选项
15 关于分治算法,表述不正确的项是?( ) 2分
登录后查看选项
16 在Python程序中,想要使用math库中的sqrt函数,下列哪种导入方式是错误的?( ) 2分
登录后查看选项
17 编程时,如果只需要导入某第三方库中的某个成员,需要使用到以下哪个关键字?( ) 2分
登录后查看选项
18 小李定义了一个函数def myfun():pass,其返回的值为?( ) 2分
登录后查看选项
19 对以下Python代码解释错误的是?( ) def f(n): s=1 for i in range(1,n+1): s*=i return s 2分
登录后查看选项
20 已知递推公式 f(n) = f(n-1) + 2*n,且 f(1) = 2。请问 f(3) 的值是多少?( ) 2分
登录后查看选项
21 一个人赶着鸭子,每经过一个村子,他卖去所赶鸭子的一半又一只,这样在经过了七个村子后,还剩两只鸭子,问他出发时共赶多少只鸭子。用递归函数F(n)求解,F为经过n个村子后鸭子的数量,n为第n个村子,则递归公式应该表示为?( ) 2分
登录后查看选项
22 用递归方法计算列表 [a1, a2, ..., an] 中所有元素的乘积,边界条件(递归出口)最合适的描述应该是什么?( ) 2分
登录后查看选项
23 有5个人坐在一起,问第5个人多少岁?他说比第4个人大3岁,问第4个人,他说比第3个人大3岁,依次问下去,每个人都正好比前一个人大3岁。最后问第1个人,他说是10岁,请问第5个人多大?如果用递归函数age(n)解决这个问题,递归体应该表达为?( ) 2分
登录后查看选项
24 递归函数的函数体内基本结构是下列哪种结构?( ) 2分
登录后查看选项
25 二分查找又称折半查找,是一种应用于有序数列的高效查找算法。下列数列中适合二分查找算法的是?( ) 2分
登录后查看选项
判断题 共10道
26

递推是在定义一个函数时,出现自己调用自己。( )

2分
登录后查看选项
27

Python匿名函数使用关键字lambda,冒号之后的部分表示匿名函数的参数列表。( )

2分
登录后查看选项
28

Python中,函数能够增强代码的可读性,提高代码的重复利用率。 ( )

2分
登录后查看选项
29

Python中自定义函数的函数体中必须要有return语句。( )

2分
登录后查看选项
30

Python中,调用函数时,如果给设置了默认值的形参x再次赋值,则运行结果会使用新传入的实参值。( )

2分
登录后查看选项
31

递归是通过重复执行一组语句或操作来遍历函数中的每个元素的过程。( )

2分
登录后查看选项
32

二分查找算法是分治算法思想的一个典型应用。( )

2分
登录后查看选项
33

使用from module import *方式导入模块中的所有功能,虽然方便,但可能会因为命名冲突导致程序出错。( )

2分
登录后查看选项
34

一个函数可以没有参数,也可以没有返回值。( )

2分
登录后查看选项
35

程序调试时,输入一组测试数据,能输出正确的结果,说明程序没有问题。( )

2分
登录后查看选项
编程题 共3道
36 求最小值

利用分治算法,求一个非空整数列表中的最小值。补全以下代码。

算法说明:将列表不断二分,直到子列表长度小于等于2,直接比较得出最小值,然后合并结果(返回两个子列表最小值中的较小者)。

def find_min(nums):

n = len(nums)

# 基线条件:问题规模足够小,直接求解

if n == 1:

return ①

elif n == 2:

return ②

# 分解:将大问题分成两个子问题

mid = n // 2

left_part = nums[:mid]

right_part = nums[mid:]

# 解决:递归求解子问题

left_min = find_min(left_part)

right_min = find_min(right_part)

# 合并:合并子问题的解

return ③

# 测试

test_list = [34, 12, 5, 78, 3, 56, 91, 23]

print('列表中的最小值是:', find_min(test_list))

10分
登录后作答
37 二分查找

小明在学习二分查找后,编写程序实现查找key所遍历的过程。如有原始数据是 12, 18, 27, 31, 46, 68, 75, 80, 90, 92,待查找的数据是90,打印输出key所遍历数分别是:

46,80,90。他编写的程序如下,完善划线处的代码。

def dfsearch(data,key): #二分法在data中查找key

p = [] #存放key所遍历数

flag = False

i,j = 0,len(data) - 1

while i <= j:

m = (i+j)//2

p.append(data[m])

if ① :

flag = True

return p,flag

elif data[m] > key:

j = ②

else:

i = ③

return p,flag

data = [12,18,27,31,46,68,75,80,90,92]

key = int(input())

rst,flag = ④

if flag:

print('原始数据是',data,'待查找的数据是',key,'\n找到,查找的数分别是:')

for i in rst:

print(i,end = ',')

else:

print('原始数据是',data,'待查找的数据是',key,'\n没有找到,查找的数分别是:')

for i in rst:

print(i,end = ',')

10分
登录后作答
38 打印图案

打印图案,由“*”和“-”按规律构成。当行数等于4时,图案如下。用自定义函数实现图案输出,请在序号处填写正确的代码,实现效果。

----*

---

--*

-

def tuxing(n):

for i in range(1, ① ):

print("-" * ② + "*"* ③ )

m=int(input('请输入行数:'))

10分
登录后作答