单元5函数应用与模块化程序设计试题及答案.docx
《单元5函数应用与模块化程序设计试题及答案.docx》由会员分享,可在线阅读,更多相关《单元5函数应用与模块化程序设计试题及答案.docx(17页珍藏版)》请在冰豆网上搜索。
![单元5函数应用与模块化程序设计试题及答案.docx](https://file1.bdocx.com/fileroot1/2023-1/5/067b0989-ce3e-4dc3-a174-c0b57e306e79/067b0989-ce3e-4dc3-a174-c0b57e306e791.gif)
单元5函数应用与模块化程序设计试题及答案
单元5函数应用与模块化程序设计试题及答案
(一)选择题
1.Python中“==”运算符用于比较两个对象的值,下列选项中属于is比较对象的因素的是()。
[单选题]*
A.id()(正确答案)
B.sum()
C.max()
D.min()
2.调用以下函数返回的值是()。
defmyfun()
pass[单选题]*
A.0
B.出错不能运行
C.空字符串
D.None(正确答案)
3.函数如下。
defshowNumber(numbers):
forninnumbers:
print(n)
下列选项中在调用函数时会报错的是()。
[单选题]*
A.showNumber([2,4,5])
B.showNumber('abcesf')
C.showNumber(3.4)(正确答案)
D.showNumber((12,4,5))
4.函数如下。
defchanageInt(number2):
number2=number2+1
print("changeInt:
number2=",number2)
number1=2
chanageInt(number1)
print("number:
",number1)
输出结果正确的是()。
[单选题]*
A.
changeInt:
number2=3
number:
3
B.(正确答案)
changeInt:
number2=3
number:
2
C.
number:
2
changeInt:
number2=2
D.
number:
2
changeInt:
number2=3
5.函数如下。
defchangeList(list):
list.append("end")
print("list",list)
#调用
strs=['1','2']
changeList(strs)
print("strs",strs)
下列对strs和list的值输出正确的是()[单选题]*
A.strs['1','2']
B.list['1','2']
C.list['1','2','end']
D.strs['1','2','end'](正确答案)
6.导入模块的方式错误的是()。
[单选题]*
A.importtest
B.fromtestimport*
C.importtestasm
D.importmfromtest(正确答案)
7.以下关于模块说法错误的是()。
[单选题]*
A.一个xx.py文件就是一个模块
B.任何一个普通的xx.py文件都可以作为模块导入
C.模块文件的扩展名不一定是.py(正确答案)
D.运行代码时会从指定的文件夹搜索导入的模块,如果没有会报错
8.以下关于函数定义的规则,正确的描述有()。
*
A.函数代码块以def关键字开头,后接函数标识符名称和圆括号()(正确答案)
B.任何传入参数和自变量必须放在圆括号中间,可以在圆括号之间定义参数(正确答案)
C.return[表达式]结束函数,选择性地返回一个值给调用方(正确答案)
D.函数内容以冒号起始,并且要缩进(正确答案)
9.下列代码的运行结果是()。
deftotal(a,b=3,c=5):
returna+b+c
print(total(a=8,c=2))[单选题]*
A.13(正确答案)
B.16
C.15
D.14
10.下列代码的运行结果是()。
deftotal(*p):
returnsum(p)
print(total(3,5,8))[单选题]*
A.16(正确答案)
B.8
C.20
D.22
11.下列代码的运行结果是()。
defdemo(*p):
returnsum(p)
print(demo(1,2,3))[单选题]
A.15
B.6(正确答案)
C.23
D.8
12.下列代码的运行结果是()。
a,
b,
c=3,
d=100):
[单选题]
A.11
B.10
C.9(正确答案)
D.8
13.下列代码的运行结果是()。
defdemo():
x=5
x=3
demo()
print(x)[单选题]
A.3(正确答案)
B.4
C.5
D.6
(二)填空题
1.Python标准库math中用来计算平方根的函数是______。
[填空题]
空1答案:
sqrt()
2.查看变量内存地址的Python内置函数是______。
[填空题]
空1答案:
id()
3.已知x=3,并且id(x)的返回值为496103280,那么执行语句x+=6之后,表达式id(x)==496103280的值为______。
[填空题]
空1答案:
False
4.表达式int('123',16)的值为______。
[填空题]
空1答案:
291
5.表达式int('123',8)的值为______。
[填空题]
空1答案:
83
6.表达式int('123')的值为______。
[填空题]
空1答案:
123
7.表达式int('101',2)的值为______。
[填空题]
空1答案:
5
8.表达式abs(-3)的值为______。
[填空题]
空1答案:
3
9.Python内置函数______可以返回列表、元组、字典、集合、字符串以及range对象中元素的个数。
[填空题]
空1答案:
len()
10.Python内置函数______用来返回序列中的最大元素。
[填空题]
空1答案:
max()
11.Python内置函数______用来返回序列中的最小元素。
[填空题]
空1答案:
min()
12.Python内置函数______用来返回数值型序列中所有元素之和。
[填空题]
空1答案:
sum()
13.表达式chr(ord('a')^32)的值为______。
[填空题]
空1答案:
'A'
14.表达式abs(3+4j)的值为______。
[填空题]
空1答案:
5.0
15.表达式callable(int)的值为______。
[填空题]
空1答案:
True
16.表达式sum(range(1,10,2))的值为______。
[填空题]
空1答案:
25
17.表达式sum(range(1,10))的值为______。
[填空题]
空1答案:
45
18.表达式sum(range(10))的值为______。
[填空题]
空1答案:
45
19.表达式range(10)[-1]的值为______。
[填空题]
空1答案:
9
20.表达式range(10,20)[4]的值为______。
[填空题]
空1答案:
14
21.表达式round(3.4)的值为_________。
[填空题]
空1答案:
3
22.表达式round(3.7)的值为______。
[填空题]
空1答案:
4
23.Python中定义函数的关键字是______。
[填空题]
空1答案:
def
24.如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为______。
[填空题]
空1答案:
None
25.已知x为非空列表,那么表达式random.choice(x)inx的值为______。
[填空题]
空1答案:
True
26.Python标准库random中的______方法的作用是从序列中随机选择一个元素。
[填空题]
空1答案:
choice()
27.在Python中定义类时,与运算符“**”对应的特殊方法为______。
[填空题]
空1答案:
pow()
28.已知f=lambdax:
x+5,那么表达式f(3)的值为______。
[填空题]
空1答案:
8
29.已知g=lambdax,y=3,z=5:
x+y+z,那么表达式g
(2)的值为______。
[填空题]
空1答案:
10
30.假设有Python程序文件abc.py,其中只有一条语句print(__name__),那么直接运行该程序文件得到的结果为______。
[填空题]
空1答案:
__main__
31.已知函数定义
deffunc(*p):
returnsum(p)
那么表达式func(1,2,3)的值为______。
[填空题]
空1答案:
6
32.已知函数定义
deffunc(*p):
returnsum(p)
那么表达式func(1,2,3,4)的值为______。
[填空题]
空1答案:
10
33.已知函数定义
deffunc(**p):
returnsum(p.values())
那么表达式func(x=1,y=2,z=3)的值为______。
[填空题]
空1答案:
6
34.已知函数定义
deffunc(**p):
return''.join(sorted(p))
那么表达式func(x=1,y=2,z=3)的值为_________。
[填空题]
空1答案:
'xyz'
35.已知f=lambdax:
5,那么表达式f(3)的值为______。
[填空题]
空1答案:
5
36.已知函数定义
defdemo(x,y,op):
returneval(str(x)+op+str(y))
那么表达式demo(3,5,'+')的值为______。
[填空题]
空1答案:
8
37.已知函数定义
defdemo(x,y,op):
returneval(str(x)+op+str(y))
那么表达式demo(3,5,'*')的值为______。
[填空题]
空1答案:
15
38.已知函数定义
defdemo(x,y,op):
returneval(str(x)+op+str(y))
那么表达式demo(3,5,'-')的值为______。
[填空题]
空1答案:
-2
39.假设有Python程序文件demo.py,代码如下。
defmain():
if__name__=='__main__':
print
(1)
else:
print
(2)
main()
将该程序文件直接运行时输出的结果为{1},作为模块导入时得到的结果为______。
[填空题]
空1答案:
2
40.自定义函数时,函数代码块以def关键字开头,后接函数标识符名称和______。
[填空题]
空1答案:
圆括号
41.random模块中______方法的作用是将列表中的元素随机乱序。
[填空题]
空1答案:
shuffle()
42.若g=lambdax,y=3,z=5:
x*y*z,则语句print(g
(1))的输出结果为______。
[填空题]
空1答案:
15
43.假设已从标准库functools导入reduce()函数,那么表达式reduce(lambdax,y:
x-y,[1,2,3])的值为______。
[填空题]
空1答案:
-4
44.假设已从标准库functools导入reduce()函数,那么表达式reduce(lambdax,y:
x+y,[1,2,3])的值为______。
[填空题]
空1答案:
6
45.已知有函数定义defdemo(*p):
returnsum(p),那么表达式demo(1,2,3)的值为______,表达式demo(1,2,3,4)的值为______。
[填空题]
空1答案:
6
空2答案:
10
46.执行语句x,y,z=map(str,range(3))之后,变量y的值为______。
[填空题]
空1答案:
'1'
47.表达式len(range(1,10))的值为______。
[填空题]
空1答案:
9
48.表达式len('北京'.encode('utf-8'))的值为______。
[填空题]
空1答案:
6
49.表达式len('北京'.encode('gbk'))的值为______。
[填空题]
空1答案:
4
50.表达式chr(ord('A')+2)的值为______。
[填空题]
空1答案:
'C'
51.假设math标准库已导入,表达式eval('math.sqrt(9)')的值为______。
[填空题]
空1答案:
3.0
52.假设math标准库已导入,表达式eval('math.sqrt(3**2+4**2)')的值为______。
[填空题]
空1答案:
5.0
53.假设math标准库已导入,表达式eval('math.sqrt(4)')的值为______。
[填空题]
空1答案:
2.0
54.表达式len([iforiinrange(10)])的值为______。
[填空题]
空1答案:
10
55.表达式len(range(1,10))的值为______。
[填空题]
空1答案:
9
(三)判断题
1.Python扩展库需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法。
[判断题]*
对
错(正确答案)
2.调用函数时,在实参前面加一个星号“*”表示序列解包。
[判断题]*
对(正确答案)
错
3.尽管可以使用import语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。
[判断题]*
对(正确答案)
错
4.函数是代码复用的一种方式。
[判断题]*
对(正确答案)
错
5.定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。
[判断题]*
对(正确答案)
错
6.编写函数时,一般建议先对参数进行合法性检查,然后再编写正常的功能代码。
[判断题]*
对(正确答案)
错
7.一个函数如果带有默认值参数,那么必须所有参数都设置默认值。
[判断题]*
对
错(正确答案)
8.定义Python函数时必须指定函数返回值类型。
[判断题]*
对
错(正确答案)
9.定义Python函数时,如果函数中没有return语句,则默认返回空值None。
[判断题]*
对(正确答案)
错
10.如果在函数中有语句return3,那么该函数一定会返回整数3。
[判断题]*
对
错(正确答案)
11.函数中必须包含return语句。
[判断题]
对
错(正确答案)
12.函数中的return语句一定能够得到执行。
[判断题]
对
错(正确答案)
13.在函数内部直接修改形参的值并不影响外部实参的值。
[判断题]
对(正确答案)
错
14.没有任何方法可以在函数内部通过形参影响实参的值。
[判断题]
对
错(正确答案)
15.调用带有默认值参数的函数时,不能为默认值参数传递任何值,必须使用函数定义时设置的默认值。
[判断题]
对
错(正确答案)
16.形参可以看作函数内部的局部变量,函数运行结束之后形参就不可访问了。
[判断题]
对(正确答案)
错
17.假设已导入random标准库,那么表达式max([random.randint(1,10)foriinrange(10)])的值一定是10。
[判断题]
对
错(正确答案)
18.Python标准库random的方法randint(m,n)用于生成一个[m,n]区间上的随机整数。
[判断题]
对(正确答案)
错
19.在Python中定义函数时不需要声明函数参数的类型。
[判断题]
对(正确答案)
错
20.在Python中定义函数时不需要声明函数的返回值类型。
[判断题]
对(正确答案)
错
21.在定义函数时,某个参数名字前面带有一个*符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中。
[判断题]
对(正确答案)
错
22.在定义函数时,某个参数名字前面带有两个*符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中。
[判断题]
对(正确答案)
错
23.在定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。
[判断题]
对(正确答案)
错
24.在调用函数时,可以通过关键字参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。
[判断题]
对(正确答案)
错
25.在调用函数时,必须牢记函数形参顺序才能正确传值。
[判断题]
对
错(正确答案)
26.调用函数时传递的实参个数必须与函数形参个数相等才行。
[判断题]
对
错(正确答案)
27.在编写函数时,建议首先对形参进行类型检查和数值范围检查,之后再编写功能代码,或者使用异常处理结构,尽量避免代码抛出异常而导致程序崩溃。
[判断题]
对(正确答案)
错
28.执行语句frommathimportsin之后,可以直接使用sin()函数,例如sin(3)。
[判断题]
对(正确答案)
错
29.lambda表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式。
[判断题]
对(正确答案)
错
30.在Python3中reduce()是内置函数。
[判断题]
对
错(正确答案)
31.使用random模块的函数randint(1,100)获取随机数时,有可能会得到100。
[判断题]
对(正确答案)
错
32.如果只需要math模块中的sin()函数,建议使用frommathimportsin来导入,而不要使用importmath导入整个模块。
[判断题]
对(正确答案)
错
33.内置函数len()返回指定序列的元素个数,适用于列表、元组、字典、集合、字符串等迭代对象。
[判断题]
对(正确答案)
错
34.包含yield语句的函数一般为生成器函数,可以用来创建生成器对象。
[判断题]
对(正确答案)
错
35.在函数中yield语句的作用和return语句的作用完全一样。
[判断题]
对
错(正确答案)
36.无法使用lambda表达式定义有名字的函数。
[判断题]
对
错(正确答案)
37.假设random模块已导入,那么表达式random.sample(range(10),20)的作用是生成20个不重复的整数。
[判断题]
对
错(正确答案)
38.假设random模块已导入,那么表达式random.sample(range(10),7)的作用是生成7个不重复的整数。
[判断题]
对(正确答案)
错