一、单选题
1、下列有关分治算法思想的描述不正确的是?( )
A、下列有关分治算法思想的描述不正确的是?( )
B、将问题分解出的各个子问题相互之间有公共子问题。
C、将问题分解出的各个子问题相互之间有公共子问题。
D、可以将子问题的求解结果合并成原问题的解。
2、斐波那契数列前n项是1,1,2,3,5,8,13...... 补全下面程序代码,求第n项斐波那契数列的值。 def fib(n): if ______: return 1 else: return fib(n-1) + fib(n-2)
A、n == 2
B、n < 2
C、n == 3
D、n < 3
3、用分治法求两个数的最大公约数,代码和运行结果如下,请选择合适的代码完成程序?( ) def fun(m, n): if m % n == 0: return n else: return __________ print(fun(98, 56)) 程序运行结果如下: 14
A、fun(n, m-n)
B、fun(n, m%n)
C、fun(m, m-n)
D、fun(m, m%n)
4、列出第三方库的详细信息的pip指令是?( )
A、pip install <第三方库名>
B、pip download<第三方库名>
C、pip download<第三方库名>
D、pip list<第三方库名>
5、想要在Python中导入math模块中的sqrt(x)函数,下列程序段错误的是?( )
A、import math
B、from math import sqrt as t
C、from math import sqrt as t
D、import math
6、关于求解“找出所有满足各位数字之和等于8的三位数”时,在下列数值范围内,算法执行效率最高的是?( )
A、0—999
B、0—1000
C、100—800
D、107—800
7、| | 已知,从1到n的连续自然数相乘的积叫做阶乘,用符号n!表示,比如3!=1×2×3,规定0!=1。那么用递归算法求n的阶乘,递归式正确的是?( ) | | ---- | ------------------------------------------------------------ | | | |
A、f(0)=1,n=n*(n-1)
B、f(0)=1,f(n)=f(0)*f(n-1)
C、f(0)=1,f(n)=f(n)*f(n-1)
D、f(0)=1,f(n)=n*f(n-1)
8、当n为6时,运行下列Python程序后的结果是?( ) def f(n): if n<=2: return 1 else: return f(n-1)+f(n-2) n=int(input("请输入一个正整数:")) print(f(n))
A、5
B、8
C、11
D、13
9、下列程序中,当n=4时,返回结果为?( ) def x(n): if n==1: return 1 else: return n+x(n-1)
A、12
B、11
C、10
D、9
10、下列选项中,不属于递归特性的是?( )
A、下列选项中,不属于递归特性的是?( )
B、递归算法体现了大事化小的思想
C、递归算法体现了大事化小的思想
D、递归算法代码简洁,效率较高
11、对于下列递归式子,当n=4时,F的值是?( ) F(n)=F(n-1)*2 F(1)=2
A、2
B、8
C、16
D、32
12、下面函数实现的功能是?( ) def mi(x, n): if n == 0: return 1 else: return x*mi(x, n-1)
A、计算x的n次方
B、计算x的n次方
C、计算x!*n
D、计算x*n!
13、def afun(n): s=1 for i in range(1,n+1): s*=i return s 对以上代码解释错误的是?( )
A、程序正常运行时,afun(n)函数的作用是求n的阶乘
B、程序正常运行时,afun(n)函数的作用是求n+1的阶乘
C、s是局部变量
D、range()函数是Python内置函数
14、关于下列代码解释错误的一项是?( ) def ZhongYao(a:str,b:int)->str: word=a*b print('重要的事情说{}遍:{}'.format(b,word)) return ZhongYao ZhongYao('学习','3')
A、参数a的数据类型必须是字符串
B、参数b的数据类型必须是整型
C、函数指定了返回值的数据类型是字符串
D、程序正常运行,输出结果是:
15、下列代码的运行结果是?( ) def exchange(a,b): a,b=b,a print(a,b) a,b=3,5 exchange(a,b) print(a,b)
A、5 3
B、3 5
C、3 5
D、5
16、下列代码的运行结果是?( ) def car_show(cars): for car in cars: print('good',car) car_show(['BYD','Haval','Wuling'])
A、good ['BYD','Haval','Wuling']
B、'good','BYD'
C、good BYD Haval Wuling
D、good BYD
17、函数中定义了4个参数,其中2个参数都指定了默认值,见下面代码,那么在调用函数时 参数个数最少是?( ) def SiBianXing(a,b,c=5,d=8): ZhouChang=a+b+c+d return ZhouChang SiBianXing( ? )
A、0
B、1
C、2
D、3
18、执行如下程序,以下选项中哪一项是错误的?( ) def f(a,b): c=a+b*2 b=a return c a=1 b=2 c=f(a,b)+b
A、该函数名称为f
B、执行该程序后,变量a的值为1
C、执行该程序后,变量b的值为2
D、执行该程序后,变量c的值为6
19、以下哪种情况下的代码块适合设计成函数?( )
A、复杂的功能块
B、难以看懂的功能块
C、难以看懂的功能块
D、会多次用到的功能块
20、使用位置实参的方式调用函数时,下列哪种情况下程序一定会出错?( )
A、传入的实参个数比形参个数多
B、部分形参赋以默认值
C、函数调用时,重新给赋予了默认值的形参传入新值
D、部分实参以关键字赋值的方式去调用函数
21、下列函数定义中,正确的是?( )
A、def myfunc(a,b,c)
B、def myfunc(a=1,b,c):
C、def myfunc(a,b=1,c):
D、def myfunc(a,b,c=1):
22、调用函数的时候,所使用的参数是?( )
A、实参
B、位置参数
C、关键字参数
D、不定长参数
23、对于如下自定义的函数: def myfunc(a,b,c): return a+b+c 以下调用该函数的语句中,能正确执行的是?( )
A、myfunc(1,2)
B、myfunc(a=3,2,1)
C、myfunc(3,b=2,1)
D、myfunc(3,2,c=1)
24、使用*args和**kwargs形参来定义函数时,正确的说法是?( )
A、使用*args代表列表,使用**kwargs代表元组
B、可以在调用函数时传入多个实参
C、使用*args代表元组,使用**kwargs代表列表
D、使用*args代表字典,使用**kwargs代表列表
25、关于函数参数的默认值设置,描述不正确的是?( )
A、定义函数时,可以为某形参设定默认值
B、如果为某形参设定了默认值,则在调用函数时就不能再为该形参传入新值
C、如果为某形参设定了默认值,在调用函数时还可以为该形参再传入新值
D、如果为某形参设定了默认值,在调用函数时还可以为该形参再传入新值
二、判断题
26、分治算法是把一个大问题分解为若干个规模较小、性质相同的子问题。最后子问题 可以简单地直接求解,将所有子问题的解合并起来就是原问题的解。( )
A 正确
B 错误
27、pip联网直接下载安装第三方库时,只能临时更换下载源,不能更改默认的下载源。( )
A 正确
B 错误
28、运行以下代码的时间复杂度为O(n2)。( ) k=0 n=11 for i in range(n): k=k+1 for j in range(n): k=k+2 print(k)
A 正确
B 错误
29、对于递归而言,递推与回归,二者缺一不可。( )
A 正确
B 错误
30、递归算法必须确保,需要解决的问题可以转化为一个或多个子问题来求解,这些子问题的求解方法与原问题相同,只是在数量和规模上不同,而且每次递归调用时,问题规模都能够缩小。( )
A 正确
B 错误
31、当函数运行结束后,局部变量的值依然存在,下次函数调用可以继续使用。( )
A 正确
B 错误
32、内置函数不需要使用关键字import导入就可以使用,自定义函数可以先调用后定义。( )
A 正确
B 错误
33、编程时,需要把实现复杂功能的代码封装起来,设计成函数。( )
A 正确
B 错误
34、将实现特定功能的代码块设计成函数,有助于提高整个程序的运行速度。( )
A 正确
B 错误
35、如果允许形参设置默认值,则函数定义时要先列出没有默认值的形参,再列出有默认值的形参。( )
A 正确
B 错误
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!