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




