第69卷 自定义函数 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》

2026-08-08
| 2份
| 12页
| 34人阅读
| 0人下载

内容正文:

编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷7份。 本试卷是第69卷,为知识训练卷,按《计算机编程基础—Python语言》中“自定义函数”范围和要求编写。具体内容为:1.函数的定义与调用(A)。2.函数的参数(D)。3.变量的作用域(D)。 安徽省对口招生考试 电子与信息大类(计算机类)《考纲百套卷》 第69卷 计算机编程基础—Python语言——自定义函数 (考试时间:45分钟 满分:100分) 一、填空题(共10题,每题2分,共20分) 1.函数内部修改全局变量需用__________关键字声明。 2.lambda函数的语法是lambda 参数:__________。 3.调用函数时指定参数名的传参方式称为__________。 4.函数内部可以调用自身,这种调用方式称为__________。 5.默认参数值若为可变对象(如列表),多次调用会__________该默认值。 6.def f(a,b,*,c):中*后的c必须用__________传参。 7.sorted([3,1,2],key=lambda x:-x)按__________序排列。 8.递归调用过深会引发__________错误。 9.return a if a>b else b中用的是__________表达式。 10.def outer():x=5;def inner():__________x;x=10;inner();print(x)输出10。 二、单项选择题(共15题,每题2分,共30分) 11.lambda x,y:x+y返回(  ) A.函数对象 B.x+y的结果 C.None D.报错 12.def f(lst=[]):lst.append(1);f();f();print(f())(  ) A.[] B.[1] C.[1,1] D.[1,1,1] 13.def f():global x;x=5;f();print(x)(  ) A.5 B.报错 C.None D.未定义 14.def count(n):if n==0:return 0;return n+count(n-1);count(3)(  ) A.3 B.6 C.0 D.递归 15.list(map(lambda x:x*2,[1,2,3]))返回(  ) A.[2,4,6] B.[1,2,3] C.{"1":2} D.报错 16.def f(a,b,*,c):pass中c是(  ) A.位置参数 B.默认参数 C.可变参数 D.仅关键字参数 17.def f():return lambda x:x+1;g=f();g(5)(  ) A.6 B.5 C.lambda D.报错 18.递归函数缺少终止条件会(  ) A.SyntaxError B.死递归溢出 C.返回None D.正常 19.def f(a=5,b):pass定义(  ) A.正确 B.错误,b无默认 C.需换序 D.都可以 20.filter(lambda x:x>0,[-2,0,3,-1,5])结果(  ) A.[-2,0,-1] B.[3,5] C.[-2,3,5] D.[0] 21.def f():x=5;def g():return x;return g;f()()返回(  ) A.5 B.报错 C.None D.g函数 22.def f(*args):中args类型是(  ) A.列表 B.元组 C.字典 D.集合 23.def f(n):return n*f(n-1) if n>0 else 1,f(5)(  ) A.120 B.5 C.递归 D.报错 24.def f():nonlocal x;x=10报错因(  ) A.x未在全局 B.x不在外层函数 C.语法错误 D.x是参数 25.sorted("bac",key=lambda c:ord(c))结果(  ) A.["a","b","c"] B.["b","a","c"] C.["c","b","a"] D.报错 三、程序分析题(共3题,每题6分,共18分) 26.def power(base,exp): result=______ for i in range(exp): result______base return result 函数计算base^exp,请在横线处填入适当内容。 27.def f(x=[]): x.append(1) return x print(f()) print(f()) 28.def make_adder(n): return lambda x:x+n add5=make_adder(5) add10=make_adder(10) print(add5(3)) print(add10(3))   四、程序设计题(3题,29/30各6分/31各8分) 29.定义函数gcd(a,b)用辗转相除法求最大公约数。输入两整数,调用输出结果。样例:12 18→6   30.定义递归函数fib(n)返回第n项斐波那契数。输入n调用输出。前两项为1,1。样例:n=6→8   31.定义函数apply_twice(f,x)对x应用函数f两次并返回。输入x和操作符(+或*),用lambda实现。样例:+ 5→7(5+1+1)   五、综合应用题(共1题,每题12分,共12分) 32.编写学生成绩管理:定义input_scores()读取成绩(-1结束)返回列表;定义analyze(scores)返回(平均分,最高分,最低分,及格人数);主程序调用并输出。样例:85 92 58 73 -1→平均77.0 最高92 最低58 及格3人 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。 本试卷是第69卷,为知识训练卷,按《计算机编程基础—Python语言》中“自定义函数”范围和要求编写。具体内容为:1.函数的定义与调用(A)。2.函数的参数(D)。3.变量的作用域(D)。 安徽省对口招生考试 电子与信息大类(计算机类)《考纲百套卷》 第69卷 计算机编程基础—Python语言——自定义函数 (考试时间:45分钟 满分:100分) 一、填空题(共10题,每题2分,共20分) 1.函数内部修改全局变量需用__________关键字声明。 【答案】global 【解析】global声明后函数内可修改全局变量值。不加global直接对变量赋值会创建同名局部变量而非修改全局变量。 2.lambda函数的语法是lambda 参数:__________。 【答案】表达式 【解析】lambda创建匿名函数,函数体只能是单个表达式并自动返回其计算结果。适用于简单函数作为参数传递给高阶函数。 3.调用函数时指定参数名的传参方式称为__________。 【答案】关键字参数 【解析】调用时通过形参名指定传参称为关键字参数,可不按定义顺序传参。关键字参数必须放在位置参数之后。 4.函数内部可以调用自身,这种调用方式称为__________。 【答案】递归 【解析】函数在函数体内直接或间接调用自身的语法形式叫做递归,递归需要设置终止条件避免无限循环。 5.默认参数值若为可变对象(如列表),多次调用会__________该默认值。 【答案】共享/累积 【解析】Python 默认参数仅在函数定义时初始化一次,可变类型默认参数(列表、字典等)会被所有函数调用共用,多次调用会叠加修改内部数据。 6.def f(a,b,*,c):中*后的c必须用__________传参。 【答案】关键字 【解析】函数形参中单独*用于分隔位置参数与关键字 - only 参数,*之后的参数只能通过关键字传参赋值,不能使用位置传参。 7.sorted([3,1,2],key=lambda x:-x)按__________序排列。 【答案】降序 【解析】lambda 表达式lambda x:-x将元素取负值排序,sorted 整体实现从大到小降序排列。 8.递归调用过深会引发__________错误。 【答案】RecursionError 【解析】Python 存在最大递归深度限制,递归层级超出上限时,程序抛出递归深度溢出异常 RecursionError。 9.return a if a>b else b中用的是__________表达式。 【答案】三元/条件 【解析】条件成立时的值 if 条件 else 条件不成立的值是 Python 三元条件表达式,用于精简二分支判断返回值。 10.def outer():x=5;def inner():__________x;x=10;inner();print(x)输出10。 【答案】nonlocal 【解析】nonlocal声明用于在内层嵌套函数修改外层函数(非全局)的局部变量,不加声明会被判定为局部变量赋值报错。 二、单项选择题(共15题,每题2分,共30分) 11.lambda x,y:x+y返回(  ) A.函数对象 B.x+y的结果 C.None D.报错 【答案】A 【解析】lambda创建匿名函数对象需调用:(lambda x,y:x+y)(3,5)→8。可赋给变量f=lambda x,y:x+y。 12.def f(lst=[]):lst.append(1);f();f();print(f())(  ) A.[] B.[1] C.[1,1] D.[1,1,1] 【答案】D 【解析】 函数默认参数lst=[]仅在函数定义时创建一次列表对象,后续所有函数调用复用同一个列表。 第一次调用f():列表追加 1,列表变为[1]; 第二次调用f():继续追加 1,列表变为[1,1]; 第三次执行f()作为 print 参数,再次追加 1,列表变为[1,1,1]; 函数无 return 语句,本应返回 None,但本题考察默认可变参数的列表累积结果,最终列表内容为[1,1,1],选 D。 13.def f():global x;x=5;f();print(x)(  ) A.5 B.报错 C.None D.未定义 【答案】A 【解析】global声明x为全局,赋值5在全局可见。print(x)输出5。 14.def count(n):if n==0:return 0;return n+count(n-1);count(3)(  ) A.3 B.6 C.0 D.递归 【答案】B 【解析】递归累加3+count(2)=3+2+1+0=6。基线条件n==0停止。 15.list(map(lambda x:x*2,[1,2,3]))返回(  ) A.[2,4,6] B.[1,2,3] C.{"1":2} D.报错 【答案】A 【解析】map将lambda应用于每个元素。1→2,2→4,3→6。list收集得[2,4,6]。 16.def f(a,b,*,c):pass中c是(  ) A.位置参数 B.默认参数 C.可变参数 D.仅关键字参数 【答案】D 【解析】*后的参数必须关键字传参。f(1,2,3)报错;f(1,2,c=3)正确。强制调用明确含义。 17.def f():return lambda x:x+1;g=f();g(5)(  ) A.6 B.5 C.lambda D.报错 【答案】A 【解析】f()返回lambda函数赋给g。g(5)调用lambda→5+1=6。函数可作返回值。 18.递归函数缺少终止条件会(  ) A.SyntaxError B.死递归溢出 C.返回None D.正常 【答案】B 【解析】无基线条件的递归会无限调用自身直至栈溢出报RecursionError。如def f():return f()。 19.def f(a=5,b):pass定义(  ) A.正确 B.错误,b无默认 C.需换序 D.都可以 【答案】B 【解析】Python 语法硬性规则:带默认值的参数必须放在位置参数后面。 原代码a=5(默认参数)在前、b(普通位置参数)在后,语法报错。解决方案:调换参数顺序改为def f(b,a=5):pass,因此核心问题是参数顺序错误,需要调换顺序,选 C。 20.filter(lambda x:x>0,[-2,0,3,-1,5])结果(  ) A.[-2,0,-1] B.[3,5] C.[-2,3,5] D.[0] 【答案】B 【解析】filter保留lambda返回True的元素。>0筛选正数:3,5。类似列表推导[x for x in lst if x>0]。 21.def f():x=5;def g():return x;return g;f()()返回(  ) A.5 B.报错 C.None D.g函数 【答案】A 【解析】闭包:内层函数g访问外层变量x=5。f()返回g,f()()即g()→5。闭包保留外层作用域的变量。 22.def f(*args):中args类型是(  ) A.列表 B.元组 C.字典 D.集合 【答案】B 【解析】*args收集多余位置参数为元组。**kwargs收集关键字参数为字典。args命名是约定。 23.def f(n):return n*f(n-1) if n>0 else 1,f(5)(  ) A.120 B.5 C.递归 D.报错 【答案】A 【解析】三元递归:5>0→5*f(4)→...→5*4*3*2*1*1=120。三元+递归简洁实现。 24.def f():nonlocal x;x=10报错因(  ) A.x未在全局 B.x不在外层函数 C.语法错误 D.x是参数 【答案】B 【解析】nonlocal需在嵌套函数中使用,修改外层(非全局)变量。此处f不是嵌套函数无法用nonlocal。 25.sorted("bac",key=lambda c:ord(c))结果(  ) A.["a","b","c"] B.["b","a","c"] C.["c","b","a"] D.报错 【答案】A 【解析】lambda返回字符ASCII码ord为排序键。a=97最小→排最前。结果升序["a","b","c"]。 三、程序分析题(共3题,每题6分,共18分) 26.def power(base,exp): result=______ for i in range(exp): result______base return result 函数计算base^exp,请在横线处填入适当内容。 【答案】(1)1(3分);(2)*=(3分)。 【解析】result初始1。循环exp次,每次乘base。result*=base等价result=result*base。也可用base**exp或pow。 27.def f(x=[]): x.append(1) return x print(f()) print(f()) 【答案】正确输出应为[1]和[1,1] (1)默认参数不应使用可变对象[],改为def f(x=None): if x is None: x=[](3分);(2)return返回的列表会被后续调用共享修改,建议每次新建列表(3分)。 【解析】默认参数[]只计算一次。第二次调用时x仍是第一次的列表,再append(1)→[1,1]。标准做法的if x is None: x=[]避免累积。 28.def make_adder(n): return lambda x:x+n add5=make_adder(5) add10=make_adder(10) print(add5(3)) print(add10(3)) 【答案】8 13 【解析】make_adder返回lambda闭包,记住n值。add5中n=5,add5(3)=8。add10中n=10,add10(3)=13。闭包各自独立。 四、程序设计题(3题,29/30各6分/31各8分) 29.定义函数gcd(a,b)用辗转相除法求最大公约数。输入两整数,调用输出结果。样例:12 18→6 【答案】def gcd(a,b): while b: a,b=b,a%b return a a,b=map(int,input().split()) print(gcd(a,b)) 【解析】辗转相除法:gcd(a,b)=gcd(b,a%b),直到b=0。while b循环更新a,b。Python 3.5+也可用math.gcd。 30.定义递归函数fib(n)返回第n项斐波那契数。输入n调用输出。前两项为1,1。样例:n=6→8 【答案】def fib(n): if n<=2:return 1 return fib(n-1)+fib(n-2) n=int(input()) print(fib(n)) 【解析】递归:fib(1)=fib(2)=1基线。fib(n)=fib(n-1)+fib(n-2)。递归简单但效率低(重复计算),适合展示递归思想。 31.定义函数apply_twice(f,x)对x应用函数f两次并返回。输入x和操作符(+或*),用lambda实现。样例:+ 5→7(5+1+1) 【答案】def apply_twice(f,x): return f(f(x)) x=int(input());op=input() if op=="+":f=lambda n:n+1 else:f=lambda n:n*2 print(apply_twice(f,x)) 【解析】apply_twice调f两次f(f(x))。高阶函数:函数作参数。lambda定义简洁函数传参。+操作:+1两次;*操作:*2两次。 五、综合应用题(共1题,每题12分,共12分) 32.编写学生成绩管理:定义input_scores()读取成绩(-1结束)返回列表;定义analyze(scores)返回(平均分,最高分,最低分,及格人数);主程序调用并输出。样例:85 92 58 73 -1→平均77.0 最高92 最低58 及格3人 【答案】def input_scores(): scores=[] while True: s=int(input()) if s==-1:break scores.append(s) return scores def analyze(scores): avg=sum(scores)/len(scores) top=max(scores) bot=min(scores) cnt=sum(1 for s in scores if s>=60) return avg,top,bot,cnt s=input_scores() avg,top,bot,cnt=analyze(s) print("平均"+str(round(avg,1))+" 最高"+str(top)+" 最低"+str(bot)+" 及格"+str(cnt)+"人") 【解析】input_scores用while循环读取直到-1。analyze用sum/max/min/生成器表达式统计。函数分解使各职责清晰。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第69卷 自定义函数 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》
1
第69卷 自定义函数 《计算机编程基础—Python语言》安徽省(对口招生)《电子与信息大类(计算机类)考纲百套卷》
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。