第5单元 函数《程序设计基础-Python》(高等教育出版社)章节过关卷

2026-04-02
| 2份
| 15页
| 97人阅读
| 1人下载

内容正文:

《程序设计基础-Python》高等教育出版社 第5单元 函数 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共25小题,每题2分,共50分) 1. 在Python中,用于定义函数的关键字是( ) A. function B. def C. define D. func 【答案】:B 【解析】: Python使用def关键字定义函数,function是JavaScript等语言的关键字。 2. 下列代码的输出结果是( ) def greet(): print("Hello") greet() A. 无输出 B. Hello C. 空 D. None 【答案】:B 【解析】: 定义函数后调用greet(),执行函数体内的print语句,输出Hello。 3. 关于Python函数的参数,下列说法正确的是( ) A. 函数必须有参数 B. 函数不能有参数 C. 函数可以有0个或多个参数 D. 函数只能有1个参数 【答案】:C 【解析】: Python函数的参数可以为0个或多个,根据需要灵活定义。 4. 执行代码后,变量x的值是( ) def add(a, b): return a + b x = add(3, 5) A. 8 B. 5 C. 3 D. None 【答案】:A 【解析】: 函数add返回a+b的结果,3+5=8,赋值给x。 5. 下列方法中,用于在函数内返回结果的是( ) A. back B. break C. exit D. return 【答案】:D 【解析】: return语句用于从函数返回值,break用于跳出循环。 6. 下列代码的输出结果是( ) def func(x=10): print(x) func() A. 0 B. 10 C. x D. 无输出 【答案】:B 【解析】: x有默认值10,调用时未传参,使用默认值,输出10。 7. 想要定义可变参数,应使用的符号是( ) A. * B. & C. # D. @ 【答案】:A 【解析】: *用于定义可变参数,如*args接收任意数量的位置参数。 8. 下列代码的输出结果是( ) def test(*nums): print(len(nums)) test(1, 2, 3, 4) A. 1 B. 3 C. 4 D. *nums 【答案】:C 【解析】: *nums接收4个参数形成元组,len(nums)为4。 9. 关于局部变量,下列说法正确的是( ) A. 在函数外部定义 B. 在函数内部定义 C. 全局都可以访问 D. 程序结束才销毁 【答案】:B 【解析】: 局部变量在函数内部定义,只能在函数内部访问。 10. 在函数中修改全局变量,应使用的关键字是( ) A. local B. nonlocal C. outer D. global 【答案】:D 【解析】: global关键字用于在函数内声明并修改全局变量。 11. 下列代码的输出结果是( ) def func(a, b=5): return a + b print(func(3)) A. 3 B. 5 C. 3 , 5 D. 8 【答案】:D 【解析】: a=3,b使用默认值5,返回3+5=8。 12. 执行代码 `print(type(lambda x: x*2))` 的输出结果是( ) A. int B. str C. function D. list 【答案】:C 【解析】: lambda创建的是匿名函数,类型为function。 13. 下列代码中,能正确定义函数的是( ) A. `def func():` B. `function func():` C. `define func():` D. `func def():` 【答案】:A 【解析】: Python函数定义语法为def 函数名(): 14. 关于return语句,下列说法正确的是( ) A. 函数必须有return B. return可以返回多个值 C. return后代码继续执行 D. return只能返回1个值 【答案】:B 【解析】: return可以返回多个值,实际是返回元组;函数可以没有return。 15. 下列代码的输出结果是( ) def func(): pass print(func()) A. 0 B. None C. pass D. 空 【答案】:B 【解析】: 函数没有return语句时,默认返回None。 16. 下列参数传递方式中,可以打乱参数顺序的是( ) A. 位置传递 B. 默认传递 C. 名称传递 D. 可变传递 【答案】:C 【解析】: 名称传递可以打乱参数顺序。 17. 执行代码后,s的值是( ) s = 10 def func(): global s s = 20 func() A. 20 B. 10 C. 0 D. 200 【答案】:A 【解析】: global声明s为全局变量,函数内修改影响全局s,值为20。 18. 下列代码的输出结果是( ) def func(**info): print(len(info)) func(name="小明", age=18) A. 1 B. 3 C. 2 D. name="小明", age=18【答案】:C 【解析】: info接收关键字参数形成字典,有2个键值对。 19. 在Python中,函数的文档字符串使用什么包裹( ) A. # B. """ """ C. // D. /* */ 【答案】:B 【解析】: 文档字符串使用三引号包裹。 20. 下列代码的输出结果是( ) def func(x): x = x + 1 return x a = 5 print(func(a), a) A. 5 5 B. 6 6 C. 5 6 D. 6 5 【答案】:D 【解析】: 函数内x是局部变量,修改不影响外部a,返回6,a仍为5。 21. 关于递归函数,下列说法正确的是( ) A. 函数不能调用自身 B. 函数可以调用自身 C. 递归不需要终止条件 D. 递归效率最高 【答案】:B 【解析】: 递归函数可以调用自身,但需要终止条件避免无限递归。 22. 下列代码的输出结果是( ) def func(a, *args): print(a, len(args)) func(1, 2, 3, 4) A. 1 3 B. 1 4 C. 4 1 D. 1, 2, 3, 4 【答案】:A 【解析】: a=1,*args接收(2,3,4),长度为3。 23. 列表作为函数参数时,下列说法正确的是( ) A. 不能修改列表 B. 可以修改列表内容 C. 会创建新列表 D. 必须使用global 【答案】:B 【解析】: 列表是可变对象,函数内可以直接修改列表内容。 24. 下列代码的输出结果是( ) def func(): """这是一个测试函数""" pass print(func.__doc__) A. 无输出 B. 这是一个测试函数 C. func.__doc__ D. None 【答案】:B 【解析】: __doc__属性获取函数的文档字符串。 25. 执行代码后,result的值是( ) def func(a, b): return a, b result = func(1, 2) A. 1 B. 2 C. (1, 2) D. [1, 2] 【答案】:C 【解析】: return多个值时,实际返回元组(1, 2)。 二、判断题(共10题,每题1分,共10分) 1. Python函数定义后必须立即调用。( ) 【答案】:错误 【解析】: 函数定义后可以不调用,只有调用时才会执行函数体。 2. 在Python中,函数可以没有返回值。( ) 【答案】:正确 【解析】: 函数可以没有return语句,此时默认返回None。 3. 局部变量可以在函数外部访问。( ) 【答案】:错误 【解析】: 局部变量只能在定义它的函数内部访问。 4. 函数的默认参数值在定义时确定。( ) 【答案】:正确 【解析】: 默认参数值在函数定义时确定,调用时可使用默认值。 5. *args参数接收的是字典类型数据。( ) 【答案】:错误 【解析】: *args接收位置参数形成元组,**kwargs接收关键字参数形成字典。 6. 一个函数中可以有多个return语句。( ) 【答案】:正确 【解析】: 函数可以有多个return,执行到第一个return时函数结束。 7. global关键字用于定义局部变量。( ) 【答案】:错误 【解析】: global用于在函数内声明和修改全局变量。 8. 函数参数列表中,必选参数必须在可选参数之前。( ) 【答案】:正确 【解析】: 必选参数在前,可选参数在后。 9. 递归函数必须有终止条件。( ) 【答案】:正确 【解析】: 递归必须有终止条件,否则会导致无限递归。 10. 列表作为参数传递给函数时,函数内修改会影响原列表。( ) 【答案】:正确 【解析】: 列表是可变对象,传递的是引用,修改会影响原列表。 3、 名词解释题(共4题,每题3分,共12分) 1. 函数 【答案】: 函数是带名字的代码块,用于完成具体的工作。通过def关键字定义,包含函数名、参数列表和函数体。函数可以实现代码复用,将特定任务封装后,需要时调用即可,无需重复编写代码。Python有内置函数和自定义函数两种。 2. 局部变量 【答案】: 局部变量是定义在函数内部的变量,只能在函数内部访问和使用。当函数执行完毕后,局部变量会被销毁。函数的参数也属于局部变量。局部变量的作用域仅限于定义它的函数内部,不能在函数外部引用。 3. 全局变量 【答案】: 全局变量是定义在函数外部的变量,在整个程序执行过程中都有效。全局变量的作用域是整个模块,所有函数内部都可以访问全局变量。但要注意,在函数内部修改全局变量需要使用global关键字声明。 4. return语句 【答案】: return语句用于结束函数调用并返回指定的值给调用者。return可以返回0个、1个或多个值。函数执行到return语句时立即结束,return后的代码不再执行。没有return语句的函数默认返回None。 四、简答题(共4题,每题4分,共16分) 1. 请简述函数定义的基本语法及各部分含义。 【答案】: (1)语法:def 函数名(参数列表): 函数体 (2)def:定义函数的关键字 (3)函数名:遵循变量命名规则,用于调用函数 (4)参数列表:圆括号内的参数,可以为0个或多个 (5)冒号:表示函数头结束,函数体开始 (6)函数体:缩进的代码块,实现函数功能 2. 请说明位置传递参数和名称传递参数的区别。 【答案】: (1)位置传递:实参按顺序对应形参,要求数量和顺序一致 (2)名称传递:指定参数名传递,顺序可以打乱 (3)名称传递可读性更好,适合参数较多的情况 (4)位置参数必须在名称参数之前 3. 请列举可变参数的两种形式及各自特点。 【答案】: (1)*args:接收任意数量的位置参数,形成元组 (2)**kwargs:接收任意数量的关键字参数,形成字典 (3)*args用于不确定位置参数个数的情况 (4)**kwargs用于不确定关键字参数个数的情况 4. 请说明局部变量和全局变量的主要区别。 【答案】: (1)定义位置:局部变量在函数内定义,全局变量在函数外定义 (2)作用域:局部变量只在函数内有效,全局变量整个程序有效 (3)生命周期:函数结束局部变量销毁,全局变量程序结束才销毁 (4)修改方式:局部变量直接修改,全局变量需用global声明 (5)优先级:函数内同名变量,局部变量优先级高于全局变量 五、编程题(本题共1小题,每题12分,共12分) 按要求编写学生成绩管理系统如下: 1. 定义函数calculate_average,接收任意数量的成绩参数,计算并返回平均分(6分) 2. 定义函数get_grade,接收一个分数参数,并且根据分数返回等级,分数等级定为:≥90为A,≥80为B,≥70为C,≥60为D,<60为E。(6分) 【答案】: 第1问:计算平均分函数 def calculate_average(*scores): """计算平均分""" if len(scores) == 0: return 0 return sum(scores) / len(scores) # 第2问:获取等级函数 def get_grade(score): """根据分数返回等级""" if score >= 90: return "A" elif score >= 80: return "B" elif score >= 70: return "C" elif score >= 60: return "D" else: return "E" 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 《程序设计基础-Python》高等教育出版社 第5单元 函数 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共25小题,每题2分,共50分) 1. 在Python中,用于定义函数的关键字是( ) A. function B. def C. define D. func 2. 下列代码的输出结果是( ) def greet(): print("Hello") greet() A. 无输出 B. Hello C. 空 D. None 3. 关于Python函数的参数,下列说法正确的是( ) A. 函数必须有参数 B. 函数不能有参数 C. 函数可以有0个或多个参数 D. 函数只能有1个参数 4. 执行代码后,变量x的值是( ) def add(a, b): return a + b x = add(3, 5) A. 8 B. 5 C. 3 D. None 5. 下列方法中,用于在函数内返回结果的是( ) A. back B. break C. exit D. return 6. 下列代码的输出结果是( ) def func(x=10): print(x) func() A. 0 B. 10 C. x D. 无输出 7. 想要定义可变参数,应使用的符号是( ) A. * B. & C. # D. @ 8. 下列代码的输出结果是( ) def test(*nums): print(len(nums)) test(1, 2, 3, 4) A. 1 B. 3 C. 4 D. *nums 9. 关于局部变量,下列说法正确的是( ) A. 在函数外部定义 B. 在函数内部定义 C. 全局都可以访问 D. 程序结束才销毁 10. 在函数中修改全局变量,应使用的关键字是( ) A. local B. nonlocal C. outer D. global 11. 下列代码的输出结果是( ) def func(a, b=5): return a + b print(func(3)) A. 3 B. 5 C. 3 , 5 D. 8 12. 执行代码 `print(type(lambda x: x*2))` 的输出结果是( ) A. int B. str C. function D. list 13. 下列代码中,能正确定义函数的是( ) A. `def func():` B. `function func():` C. `define func():` D. `func def():` 14. 关于return语句,下列说法正确的是( ) A. 函数必须有return B. return可以返回多个值 C. return后代码继续执行 D. return只能返回1个值 15. 下列代码的输出结果是( ) def func(): pass print(func()) A. 0 B. None C. pass D. 空 16. 下列参数传递方式中,可以打乱参数顺序的是( ) A. 位置传递 B. 默认传递 C. 名称传递 D. 可变传递 17. 执行代码后,s的值是( ) s = 10 def func(): global s s = 20 func() A. 20 B. 10 C. 0 D. 200 18. 下列代码的输出结果是( ) def func(**info): print(len(info)) func(name="小明", age=18) A. 1 B. 3 C. 2 D. name="小明", age=1 19. 在Python中,函数的文档字符串使用什么包裹( ) A. # B. """ """ C. // D. /* */ 20. 下列代码的输出结果是( ) def func(x): x = x + 1 return x a = 5 print(func(a), a) A. 5 5 B. 6 6 C. 5 6 D. 6 5 21. 关于递归函数,下列说法正确的是( ) A. 函数不能调用自身 B. 函数可以调用自身 C. 递归不需要终止条件 D. 递归效率最高 22. 下列代码的输出结果是( ) def func(a, *args): print(a, len(args)) func(1, 2, 3, 4) A. 1 3 B. 1 4 C. 4 1 D. 1, 2, 3, 4 23. 列表作为函数参数时,下列说法正确的是( ) A. 不能修改列表 B. 可以修改列表内容 C. 会创建新列表 D. 必须使用global 24. 下列代码的输出结果是( ) def func(): """这是一个测试函数""" pass print(func.__doc__) A. 无输出 B. 这是一个测试函数 C. func.__doc__ D. None 25. 执行代码后,result的值是( ) def func(a, b): return a, b result = func(1, 2) A. 1 B. 2 C. (1, 2) D. [1, 2] 二、判断题(共10题,每题1分,共10分) 1. Python函数定义后必须立即调用。( ) 2. 在Python中,函数可以没有返回值。( ) 3. 局部变量可以在函数外部访问。( ) 4. 函数的默认参数值在定义时确定。( ) 5. *args参数接收的是字典类型数据。( ) 6. 一个函数中可以有多个return语句。( ) 7. global关键字用于定义局部变量。( ) 8. 函数参数列表中,必选参数必须在可选参数之前。( ) 9. 递归函数必须有终止条件。( ) 10. 列表作为参数传递给函数时,函数内修改会影响原列表。( ) 3、 名词解释题(共4题,每题3分,共12分) 1. 函数 2. 局部变量 3. 全局变量 4. return语句 四、简答题(共4题,每题4分,共16分) 1. 请简述函数定义的基本语法及各部分含义。 2. 请说明位置传递参数和名称传递参数的区别。 3. 请列举可变参数的两种形式及各自特点。 4. 请说明局部变量和全局变量的主要区别。 五、编程题(本题共1小题,每题12分,共12分) 按要求编写学生成绩管理系统如下: 1. 定义函数calculate_average,接收任意数量的成绩参数,计算并返回平均分(6分) 2. 定义函数get_grade,接收一个分数参数,并且根据分数返回等级,分数等级定为:≥90为A,≥80为B,≥70为C,≥60为D,<60为E。(6分) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第5单元 函数《程序设计基础-Python》(高等教育出版社)章节过关卷
1
第5单元 函数《程序设计基础-Python》(高等教育出版社)章节过关卷
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。