Python程序设计第五章测验总结
第五章函数与应⽤
5.1 函数与问题分⽽治之
1.下⾯说法错误的是_____
A.函数能提⾼应⽤的模块性,和代码的重复利⽤率
B.python的函数可以分为内置函数和⽤户⾃定义函数
C.不带返回值的return,相当于返回None
D.每个return语句只能返回⼀个值
解:D
return可以以元组的形式返回多个值
2.函数没有参数时,定义函数和调⽤函数都不⽤可以省略函数名后的括号。
解:正确
3.⼀个函数中可以有多个return语句,但是每次调⽤函数只会执⾏其中⼀个return。
解:正确
4.定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何⼀个带有默认值的参数右边不允许出现没有默认值的参数解:正确
5.在调⽤函数时,可以通过关键参数的形式进⾏传值,从⽽避免必须记住函数形参顺序的⿇烦
解:正确
6.调⽤函数时传递的实参个数必须与函数形参个数相等才⾏
解:错误
7.在函数中yield语句的作⽤和return完全⼀样
解:错误
8.在Python中定义函数时不需要声明函数参数的类型
解:正确
9.在python的函数中不可再定义新的函数
解:错误
10.定义函数时的参数叫形式参数,调⽤函数时的参数叫__参数
解:实际
11.函数代码块以 __关键词开头,后接函数标识符名称和圆括号()。
解:def
12.以下python程序的输出是多少?
def max(a,b):
if a>b:
return a
else:
return b
print(max(3,6))
解:6
5.2 基于函数验证哥德巴赫猜想
1.如下程序的运⾏结果是___
def exchange(num1,num2):
num1,num2=num2,num1
num1=5
num2=7
exchange(num1,num2)
print(num1,num2)
A.5 7
B.7 5
C.5 5
D.7 7
解:A
不可变数据类型的值,传⼊的是复制的值。
2.如下程序的运⾏结果是___
def exchange(lst):
lst[0]=100
lst=[1,2,3]
exchange(lst)
print(lst)
A.[1,2,3]
B.[100,2,3]
C.[1,1,1]
D.[100,100,100]
解:B
可变数据类型的值,传⼊的是地址的复制值,所以会更改对应的值。
3.如下程序的运⾏结果是___
def exchange(lst):
lst=[4,2,3]
lst=[1,2,3]
exchange(lst)
print(lst)
A.[4,2,3]
B.[1,1,1]
C.[1,2,3]
D.[4,4,4]
解:C
因为只是将复制地址的指向更改,所以原列表不变。
4.如下代码被执⾏,运⾏结果是____
print(get_max(3,5))
def get_max(num1,num2):
return num1 if num1>num2 else num2
A.3
B.5
C.8
D.语法错
解:D
解释型语⾔,必须在使⽤函数前提前定义。
5.Python不仅允许函数嵌套调⽤,还允许函数嵌套定义。
解:正确
⾼阶函数的⽤法
6.在调⽤函数时,必须牢记函数形参顺序才能正确传值
解:错误
可以使⽤关键词的⽅式来进⾏传参。
7.在Python中定义函数时不需要声明函数的返回值类型
解:正确
8.在函数中没有任何办法可以通过形参来影响实参的值
解:错误
对于可变数据类型,可以通过形参来影响实参的值。
9.在定义函数时,某个参数名字前⾯带有⼀个*符号表⽰可变长度参数,可以接收任意多个普通实参并存放于⼀个元组之中
解:正确
10.在定义函数时,某个参数名字前⾯带有两个*符号表⽰可变长度参数,可以接收任意多个关键参数并将其存放于⼀个字典之中解:正确
11.python函数的参数传递是可变类型(如fun(a)),如果在函数内部修改a的值,修改后fun外部的a不会受到影响
解:错误
12.以下python程序的输出是多少
def change(list):
list.append([0,0])
return
mylist =[1,2,3]
change(mylist)
print(mylist)
解:[1,2,3,[0,0]] 或[1, 2, 3, [0, 0]]
5.3 多种⽅法实现⼗进制转⼆进制
1.在函数内没有办法定义全局变量
解:错误
2.在函数内部直接修改形参的值并不影响外部实参的值
解:错误
可变数据类型
3.如果在函数中有语句return 3,那么该函数⼀定会返回整数3
解:错误
不执⾏这条语句就不会返回3.
4.调⽤带有默认值参数的函数时,不能为默认值参数传递任何值,必须使⽤函数定义时设置的默认值解:错误
可以使⽤其他值来替换默认值。
5.在同⼀个作⽤域内,局部变量会隐藏同名的全局变量
解:正确
6.python函数的必需参数须以正确的顺序传⼊函数,调⽤时的数量必须和声明⼀样
解:正确
7.python使⽤关键字参数允许函数调⽤时参数的顺序和声明不⼀样
解:正确
8.如下函数中需要使⽤⼀个全局变量num,请在下划线处补充必要的语句
def fun():
python新手代码错了应该怎么改__________
num= numk +1
解:global num
9.如下程序的输出结果是___
def myfun(x,y=200,z=100):
print(x,y,z)
myfun(50,100)
解:50 100 100
10.如下程序的输出结果是__
def myvar1(*t):
print(t)
myvar1(1,2,3)
解:(1,2,3) 或(1, 2, 3)
11.如下程序的输出结果是____
fun=lambda x,y:x+y
print(fun(5,10))
解:15
12.如下程序的输出结果是___
def fun():
return lambda x,y:x*x+y*y
fx=fun()
print(fx(3,4))
解:25
5.4 多种⽅法求圆周率
1.关于python的__name__,下⾯描述错误的是
A.**__name__**是⼀个变量
B.当前模块被另外模块调⽤时,当前模块中的____name____的值是’main’
C.____name____可⽤于区分当前模块是被调⽤还是主动执⾏
D.____name____的类型属于字符串
解:B
2.关于函数的说法正确的是__
A.在⾯对复杂的问题时,函数的数量应该要少,函数内的代码要多
B.python函数的形式参数名称和实际参数名称必须⼀样
C.python函数的返回值不仅可以是变量、常量,甚⾄可以是函数
D.python函数的最后⼀个语句必须使⽤return
解:C
3.如下函数的返回值是___
def test():
temp=[1,2,3,4,5,6,7,8,9,10]
return[x for x in temp if x%3==2]
A.[2, 5, 8]
B.[1, 3, 6]
C.[3, 6, 9]
D.[1, 4, 7]
解:A
列表推导式
4.如下函数的返回值是__
def test():
l1=[1,2,3]
l2=[4,5,6]
return list(zip(l1,l2))
A.[(1, 1), (2, 2), (3, 3)]
B.[(4, 4), (5, 5), (6, 6)]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。