内容正文:
《Python语言程序设计基础》(电子科技大学出版社)
第6章 用函数实现代码复用
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1.调用无参数函数时,正确的方式是( )
A. 函数名
B. 函数名()
C. 函数名(None)
D. 函数名(空)
【答案】B
【解析】无参数函数即使无实参也需保留空括号,因此选B。
2.以下代码中,调用函数的方式属于关键字参数的是( )
A. fun(0.5, 100)
B. fun(price=100, discount=0.5)
C. fun(0.5)
D. fun(100, *args)
【答案】B
【解析】关键字参数需明确“参数名 = 值”的格式,B符合该特征,因此选B。
3.以下关于实参的描述,正确的是( )
A. 只能是常量
B. 只能是变量
C. 可以是常量、变量或表达式
D. 必须与形参类型一致
【答案】C
【解析】实参可以是常量、变量、表达式,调用时必须有确定的值,因此选C。
4.调用匿名函数sum = lambda arg1,arg2: arg1+arg2,执行sum(20,50)的结果是( )
A. 70
B. 2050
C. (20,50)
D. 报错
【答案】A
【解析】该匿名函数实现两数相加,20+50=70,因此选A。
5.匿名函数与def定义的函数相比,区别是( )
A. 只能一行内表示,功能简单
B. 不能接收参数
C. 没有返回值
D. 不能被调用
【答案】A
【解析】lambda函数用于定义简单的、能够在一行内表示的函数,def函数可实现复杂功能,因此选A。
6、匿名函数的本质是( )
A. 无名称的变量
B. 返回函数类型的表达式
C. 无法复用的代码块
D. 特殊的循环结构
【答案】B
【解析】lambda函数返回一个函数类型,因此选B。
7、以下关于匿名函数与def函数的区别,不正确的是( )
A. 匿名函数用lambda定义,def函数用def定义
B. 匿名函数只能一行内表示,def函数可多行
C. 匿名函数只能返回一个表达式,def函数可返回多个值
D. 匿名函数不能接收参数,def函数可接收参数
【答案】D
【解析】匿名函数能接收任何数量参数,因此选D。
8、以下场景中,不适合使用匿名函数的是( )
A. 简单的两数相加计算
B. 一行内可完成的简单逻辑
C. 复杂的多步骤运算
D. 作为其他函数的临时参数
【答案】C
【解析】匿名函数适用于简单功能,复杂多步骤运算适合用def函数,因此选C。
9、以下代码中,匿名函数调用无效的是( )
A. add = lambda x,y: x+y; add(3,4)
B. mul = lambda a: a*2; mul(5)
C. hello = lambda: "hello"; hello()
D. print = lambda x: print(x); print("test")
【答案】D
【解析】匿名函数直接调用print()不符合lambda需要表达式的要求,因此选D。
10、以下不属于全局变量的特点的是( )
A. 定义在函数外部
B. 整个程序内有效
C. 函数内可访问
D. 函数执行后失效
【答案】D
【解析】全局变量在程序运行期间始终有效,函数执行后不会失效,因此选D。
11、以下不属于局部变量的特点的是( )
A. 定义在函数内部
B. 仅函数内可访问
C. 函数执行后失效
D. 可修改全局变量
【答案】D
【解析】局部变量无法直接修改全局变量,需用global关键字,因此选D。
12、执行round(2.6235, 2)的返回结果是( )
A. 2.6
B. 2.62
C. 2.63
D. 3.0
【答案】B
【解析】round()函数按指定位数四舍五入,保留2位小数时,2.6235四舍五入为2.62,因此选B。
13、以下函数中,用于返回对象数据类型的是( )
A. type()
B. id()
C. help()
D. isinstance()
【答案】A
【解析】type()函数返回一个对象的类型,因此选A。
14、执行ord('A')的返回结果是( )
A. 65
B. '65'
C. 97
D. 'A'
【答案】A
【解析】ord()函数转换ASCII码字符为相应的数字,'A'对应的ASCII码是65,因此选A。
15、以下函数中,用于将多个字符串按指定字符连接的是( )
A. split()
B. replace()
C. join()
D. center()
【答案】C
【解析】join()函数把seq代表的字符串序列,用str连接起来,因此选C。
16、执行max(-1, 2, 4, 3)的返回结果是( )
A. -1
B. 2
C. 3
D. 4
【答案】D
【解析】max()函数返回多个参数中的最大值,-1、2、4、3中最大值为4,因此选D。
17、定义函数使用的关键字是( )
A. lambda
B. def
C. function
D. class
【答案】B
【解析】def是Python定义函数的专用关键字,因此选B。
18、函数中无明确终止条件的递归函数通过什么方式终止递归( )
A. 明确的条件判断
B. 捕获异常
C. 递归次数限制
D. 手动return
【答案】B
【解析】函数中无明确终止条件,而是通过try-except捕获字符串为空时的异常,执行pass终止递归,因此选B。
19、当字符串s为空时,执行print(s[-1])会触发什么( )
A. 正常打印空字符
B. 触发异常
C. 直接返回None
D. 无限递归
【答案】B
【解析】空字符串无任何字符,s[-1]无法获取元素,会触发索引错误,因此选B。
20、以下不属于递归函数调用的特点的是( )
A. 直接调用自身
B. 每次调用的参数长度递减
C. 依赖异常终止递归
D. 必须有return语句
【答案】D
【解析】函数无return语句仍正常运行,D错误;函数直接调用自身,每次参数去掉最后一个字符(长度递减),通过异常终止,因此选D。
2、 判断题(本题共10小题,每题2分,共20分)
1、变量的作用域指的是变量的使用范围,由变量的赋值位置决定。( )
【答案】正确。变量作用域就是变量的使用范围,访问权限取决于这个变量是在哪里赋值,故正确。
2、chr()函数的参数是ASCII码字符,返回对应的数字。( )
【答案】错误。chr()函数转换数字为相应的ASCII码字符,ord()才是字符转数字,故错误。
3、replace()函数可以指定替换的次数,默认替换所有匹配内容。( )
【答案】正确。replace()函数的count参数为替换次数,未指定时替换所有,故正确。
4、pow(3,4)的返回结果是12。( )
【答案】错误。pow(x,y)返回x的y次幂,3的4次幂是81,故错误。
5、help()函数可以调用系统内置帮助,查询函数的使用说明。( )
【答案】正确。help()函数可以调用系统内置帮助,查询函数的的详细帮助信息,故正确。
6、lower()函数会将字符串中所有字母转换为小写,其他字符不变。( )
【答案】正确。lower()函数会将字符串中所有字母转换为小写,其他字符不变,故正确。
7、定义的两个函数名相同,参数数量不同,这是合法的Python语法。( )
【答案】正确。虽然Python不支持真正的函数重载,但通过不同参数数量定义同名函数,调用时按参数数量匹配,语法合法,故正确。
8、函数在定义后会自动执行函数体代码。( )
【答案】错误。函数定义后需通过调用才会执行函数体,定义时不执行,故错误。
9、递归函数必须包含return语句才能正常运行。( )
【答案】错误。递归函数无return语句,通过打印和异常处理正常实现功能,故错误。
10、当字符串为空时,异常被捕获后,程序不再进行递归调用,递归终止。( )
【答案】正确。字符串为空时触发异常,执行except后的pass,不再执行后续的递归调用,递归终止,故正确。
3、 填空题(本题共10小题,每题2分,共20分)
1、_______递归是指函数调用其他函数,在调用该其他函数的过程中又调用原函数。
【答案】间接
2、______函数能接收任何数量的参数,但只能返回一个表达式的值。
【答案】lambda
3、函数执行结束后,_______变量会失效。
【答案】局部
4、定义在函数内的变量称为局部变量_______。
【答案】局部变量
5、ord()函数的功能是将_______转换为相应的数字。
【答案】ASCII码
6、字符串分割函数split()的默认分隔符是________。
【答案】空格
7、类型转换函数中,将参数转换为浮点型的是______。
【答案】float()
8、数学运算类内置函数中,求最小值的函数是________。
【答案】min()
9、函数中用于异常处理的关键字是_______和except。
【答案】try
10、当字符串s为空时,执行print(s[-1])会触发_______,从而终止递归过程。
【答案】异常
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《Python语言程序设计基础》(电子科技大学出版社)
第6章 用函数实现代码复用
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共20小题,每题3分,共60分)
1.调用无参数函数时,正确的方式是( )
A. 函数名
B. 函数名()
C. 函数名(None)
D. 函数名(空)
2.以下代码中,调用函数的方式属于关键字参数的是( )
A. fun(0.5, 100)
B. fun(price=100, discount=0.5)
C. fun(0.5)
D. fun(100, *args)
3.以下关于实参的描述,正确的是( )
A. 只能是常量
B. 只能是变量
C. 可以是常量、变量或表达式
D. 必须与形参类型一致
4.调用匿名函数sum = lambda arg1,arg2: arg1+arg2,执行sum(20,50)的结果是( )
A. 70
B. 2050
C. (20,50)
D. 报错
5.匿名函数与def定义的函数相比,区别是( )
A. 只能一行内表示,功能简单
B. 不能接收参数
C. 没有返回值
D. 不能被调用
6、匿名函数的本质是( )
A. 无名称的变量
B. 返回函数类型的表达式
C. 无法复用的代码块
D. 特殊的循环结构
7、以下关于匿名函数与def函数的区别,不正确的是( )
A. 匿名函数用lambda定义,def函数用def定义
B. 匿名函数只能一行内表示,def函数可多行
C. 匿名函数只能返回一个表达式,def函数可返回多个值
D. 匿名函数不能接收参数,def函数可接收参数
8、以下场景中,不适合使用匿名函数的是( )
A. 简单的两数相加计算
B. 一行内可完成的简单逻辑
C. 复杂的多步骤运算
D. 作为其他函数的临时参数
9、以下代码中,匿名函数调用无效的是( )
A. add = lambda x,y: x+y; add(3,4)
B. mul = lambda a: a*2; mul(5)
C. hello = lambda: "hello"; hello()
D. print = lambda x: print(x); print("test")
10、以下不属于全局变量的特点的是( )
A. 定义在函数外部
B. 整个程序内有效
C. 函数内可访问
D. 函数执行后失效
11、以下不属于局部变量的特点的是( )
A. 定义在函数内部
B. 仅函数内可访问
C. 函数执行后失效
D. 可修改全局变量
12、执行round(2.6235, 2)的返回结果是( )
A. 2.6
B. 2.62
C. 2.63
D. 3.0
13、以下函数中,用于返回对象数据类型的是( )
A. type()
B. id()
C. help()
D. isinstance()
14、执行ord('A')的返回结果是( )
A. 65
B. '65'
C. 97
D. 'A'
15、以下函数中,用于将多个字符串按指定字符连接的是( )
A. split()
B. replace()
C. join()
D. center()
16、执行max(-1, 2, 4, 3)的返回结果是( )
A. -1
B. 2
C. 3
D. 4
17、定义函数使用的关键字是( )
A. lambda
B. def
C. function
D. class
18、函数中无明确终止条件的递归函数通过什么方式终止递归( )
A. 明确的条件判断
B. 捕获异常
C. 递归次数限制
D. 手动return
19、当字符串s为空时,执行print(s[-1])会触发什么( )
A. 正常打印空字符
B. 触发异常
C. 直接返回None
D. 无限递归
20、以下不属于递归函数调用的特点的是( )
A. 直接调用自身
B. 每次调用的参数长度递减
C. 依赖异常终止递归
D. 必须有return语句
2、 判断题(本题共10小题,每题2分,共20分)
1、变量的作用域指的是变量的使用范围,由变量的赋值位置决定。( )
2、chr()函数的参数是ASCII码字符,返回对应的数字。( )
3、replace()函数可以指定替换的次数,默认替换所有匹配内容。( )
4、pow(3,4)的返回结果是12。( )
5、help()函数可以调用系统内置帮助,查询函数的使用说明。( )
6、lower()函数会将字符串中所有字母转换为小写,其他字符不变。( )
7、定义的两个函数名相同,参数数量不同,这是合法的Python语法。( )
8、函数在定义后会自动执行函数体代码。( )
9、递归函数必须包含return语句才能正常运行。( )
10、当字符串为空时,异常被捕获后,程序不再进行递归调用,递归终止。( )
3、 填空题(本题共10小题,每题2分,共20分)
1、_______递归是指函数调用其他函数,在调用该其他函数的过程中又调用原函数。
2、______函数能接收任何数量的参数,但只能返回一个表达式的值。
3、函数执行结束后,_______变量会失效。
4、定义在函数内的变量称为局部变量_______。
5、ord()函数的功能是将_______转换为相应的数字。
6、字符串分割函数split()的默认分隔符是________。
7、类型转换函数中,将参数转换为浮点型的是______。
8、数学运算类内置函数中,求最小值的函数是________。
9、函数中用于异常处理的关键字是_______和except。
10、当字符串s为空时,执行print(s[-1])会触发_______,从而终止递归过程。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$