Python 中函数不包括?( )
标准函数
第三库函数
内建函数
参数函数
下面哪种算法使用了分治的方法?( )
冒泡排序
选择排序
插入排序
对分查找
对于数列1,2,8,11,15,17,19,25,30,45,采用“二分查找”法查找11,需要查找多少次?( )
5
4
3
2
以下函数要实现3的阶乘,则应补充选项为?( )
def func(m): if(___): return func(m+1)*m else: return 1 print(func(1))
m<3
m<=3
m<=4
m<=2
下列程序段的运行结果为?( )
def f(n): if n<=0: return 1 else: return f(n-1)*3 print(f(4))
9
27
81
243
运行下列代码,正确的输出结果是?( )
def yang(n): if n == 0: return [1] else: return[([0]+yang(n-1))[i]+(yang(n-1)+[0])[i] for i in range(n+1) ] print(yang(4))
[1,4,6,4,1]
[1,5,10,10,5,1]
[1,1,1]
[1,3,3,1]
下列属于math库中的数学函数是?( )
time()
round()
sqrt()
random()
若要求出把a个元素分成b个子集,有多少种可能性,例:function(4,2)返回值为7,则返回值中函数的参数分别为?( )
def function(a,b): if (b == 1 or b == a): return 1 else: return function( )+b*function(a-1,b)
(a-1,b-1)
(a+1,b-1)
(a-1,b+1)
(a+1,b+1)
运行以下程序,正确的打印结果是?( )
def sum1( arg1, arg2 ): total = arg1 + arg2 return total t= sum1( 10, 20 ) print(t)
10
20
30
40
设某算法的计算时间表示为递推关系式T(n)=T(n-1)+n(n为正整数)及T(0)=1,该算法的时间复杂度为以下哪一项?( )
O(log2n)
O(nlog2n)
O(n)
O(n2)
递归算法的执行过程,一般来说,可先后分成以下哪两个阶段?( )
穷举和回归
递推和回归
穷举和回溯
递推和回溯
设有以下函数,运行程序输出的结果是? ( )
def demo(a,b): a*=b return a s=demo(5,2) print(s)
5
10
12
20
调用函数时,使用位置参数接收实际参数,以下表述正确的是?( )
指定的实际参数必须与形式参数的数量一致,位置一致
指定的实际参数必须与形式参数的数量一致,位置可以不一致
指定的实际参数必须与形式参数的位置一致,数量可以不一致
指定的实际参数与形式参数的数量以及位置不需要一致
执行以下程序,以下表述中错误的一个是? ( )
def demo(a,b): c=a**2+b b=a return c a=10 b=100 c=demo(a,b)+a
该函数名称为demo
执行该函数后,变量a的值为10
执行该函数后,变量b的值为100
执行该函数后,变量c的值为200
关于Python的自定义函数的说法,下列哪个表述是错误的?( )
函数名的命名规则与变量名的命名规则相同
如果有多个参数,各参数之间使用“;”隔开
即使函数没有参数,也必须在函数名后面保留一对空的“()”
函数体相对于自定义函数的关键字必须保持一定的缩进
在Python中,以下关于函数的描述错误的一项是?( )
默认参数的值可以修改
引入了函数式编程的思想,函数本身亦为对象
关键字参数在使用时不允许改变参数列表中的参数顺序
函数的return语句可以以元组的方式返回多个值
关于函数,以下选项中描述错误的是?( )
函数是一段具有特定功能的、可重复用的语句组
函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可
使用函数的主要目的是降低编程难度和代码重用
Python使用del保留字定义一个函数
函数调用可以分为将实际参数的值传递给形式参数,以及将实际参数引用传递给形式参数,如果实际参数是可变对象,以下关于函数形式参数和实际参数的表述正确的是?( )
值传递可以改变实际参数的值,但是形式参数的值不能改变
值传递可以改变形式参数的值,但是实际参数的值不能改变
值传递可以同时改变形式参数和实际参数的值
值传递既不能改变实际参数的值,也不能改变形式参数的值
匿名函数是指没有名字的函数,Python中需要使用哪一个表达式来创建匿名函数?( )
function
filter
lambda
global
有以下程序,运行程序输出的结果是? ( )
x=1 def demo(): x=2 print(x) demo() print(x)
1
1
2
1
1
2
2
2
变量的作用域是指程序代码所能够访问到该变量的区域,以下表述中哪一个是错误的?( )
在函数内部定义的变量是局部变量
在函数外部定义的变量是全局变量
在函数外部可以使用函数内部定义的变量
在函数内部可以使用函数外部定义的变量
关于算法的描述,以下选项中错误的是?( )
算法是指解题方案的准确而完整的描述。
算法的复杂度主要包括时间复杂度和数据复杂度。
算法具有可行性、确定性、有穷性的基本特征。
算法的基本要素包括数据对象的运算和操作及算法的控制结构。
关于 import 引用,以下选项中描述错误的是?( )
使用 import turtle 引入turtle 库。
可以使用 from turtle import setup 引入 turtle 库。
使用 import turtle as t 引入 turtle 库,取别名为 t。
import 保留字用于导入模块或者模块中的对象。
以下关于函数参数和返回值的描述,正确的是?( )
关键字传递是根据每个参数的名字传递参数,实参的顺序需要和形参的顺序一致。
可选参数传递指的是没有传入对应参数值的时候,就不使用该参数。
函数能同时返回多个值,需要形成一个列表来返回。
给参数赋予默认值,如果该参数最终没有被传递值,将使用该默认值。
关于递归函数出口的说明,以下选项中错误的是?( )
递归函数的出口决定递归的深度。
每个递归函数都只能有一个递归出口。
递归函数必须有出口。
递归函数的出口不再进行递归。
运行如下图的代码,将不会报错而打印出数字7。请判断对错!
假设一个一维列表中有200个元素,列表中的元素都已经按降序排列,若采用二分搜索策略查找某一个元素,则最多需要8次比较就能确定是否存在所查找的元素。
执行以下代码:
def fun(m): if len(m)==1: return m[0] mid=len(m)//2 l=fun(m[:mid]) r=fun(m[mid:]) return l+r m=[5,23,41,3,11] print(fun(m))
程序输出的结果为:42
执行以下代码:
def add(sum,x): if sum<10: x +=2 sum=sum+x add(sum,x) return sum print (add(0,0))
程序输出的结果为:2
执行以下代码:
Func(2,3) def Func(a,b): z=a*b return z
程序返回结果为:6
执行以下代码:
def funct(): print("I love") def funct_1(): print("Python") funct()
程序输出的结果为:I lovePython
执行以下代码:
def fun():
x=15
print(x)
程序输出的结果为15。
如果在printnum(number)函数内部想要使用全局变量value,那么就要在函数内部使用关键词global声明全局变量value。
value = 10 def printnum(number): global value num = number + value return num
如下图代码,最后运行结果将会打印出数值6,请问对吗?
当你安装的第三方库有一个或者多个依赖时,我们可以选择自动安装,直接运行 pip install xxx (xxx为你要安装库的名字)。
要求:设计一个算法,求1~n(n为大于2的正整数)中有哪些素数,总共是多少个素数? 根据上述计算规则,补全下列代码。
函数名:getPrime(n)
参数表:n -- n为大于2的正整数。
返回值:返回素数组成的数组。
示例:当n=9时,返回:您输入的区间1-n中素数分别是:[2, 3, 5, 7],总共是4个素数!
primeList = [] import math def getPrime(n): for x in range(2,n+1): x_sqrt = ① for prime in primeList: if ② primeList.append(x) break if ③ break else: primeList.append(x) return primeList m=int(input("请您输入一个整数n:")) print('您输入的区间1-n中素数分别是:'+ ④ )+',总共是'+str(len(primeList))+'个素数!')
编写上交作业的程序,老师要求把小组7位同学(编号为1,2,3,...,6,7)的作业收齐,小组编号1的同学跟编号2的同学说“收作业了”,之后每位同学依次向后面的一位同学说要“收作业了”,直到最后,编号7的同学将自己的作业,上交到编号6的同学手中,编号6的同学将编号7的作业及自己的作业一起上交到编号5的同学,按这样的流程;直到编号1将其他同学的作业及自己的作业上交到老师中。要求编号7同学的作业放在最前面,即老师看到的作业是编号7的作业,然后是编号6的作业,最后是编号1的作业。
根据上述算法思想,编写自定义函数完成程序功能,完善空白处代码。
"""
函数名def getHomeWork(hw,n)
参数表:hw存储每位同学的作业信息,n表示第n位同学的作业
返回值:每位同学的作业,要求最后1位同学的作业显示在最前面,第1位同学作业显示在最后面
"""
def getHomeWork(hw,n): if n == ① : return ② return ③ homew=["作业1","作业2","作业3","作业4","作业5","作业6","作业7"] zuoye = getHomeWork(homew,0) print(zuoye)
设计一个算法,枚举排列问题。输入1-n的第1个排列,如1 2 3,按照大小输出1~n的所有排列,并统计全部排列总数。
根据上述算法思想,补全下列代码。
描述:输入1-n的第1个排列,如1 2 3,按照大小输出1~n的所有排列。
函数名:perm(n,begin,end)参数表:n -- 整数n,begin -- 指向排列的第一个元素,end-- 指向排列的最后一个元素。
返回值:输出1-n的所有排列方式,每行一个排列,按从小到大。
示例:当输入1 2 3时,返回:
[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 2, 1]
[3, 1, 2]
排列总数是:6个!
COUNT=0 def perm(n,begin,end): global COUNT if ① print (n) COUNT +=1 else: i=begin for num in ② : n[num],n[i]=n[i],n[num] ③ n[num],n[i]=n[i],n[num] arr = input("1-n的第1个排列:") n = [int(n) for n in arr.split()] ④ print ("排列总数是:%d个!"% COUNT)