专题十二 函数(练习)-《Python程序设计》职教高考备考讲练测(安徽省)

2025-04-01
| 2份
| 10页
| 88人阅读
| 0人下载

内容正文:

专题十二 函数 一、单项选择题 1.下列说法错误的是( ) A.递归函数必须有基例 B.递归函数的基例不再进行递归 C.每个递归函数都只能有一个基例 D.递归函数的基例决定递归的深度 【答案】C 【解析】递归函数至少有一个基例 2.假设函数中不包括 global关键字,对于改变参数值的方法,下列叙述正确的是( ) A.参数是列表类型时,改变原参数的值 B.参数是元组时,改变原参数的值 C.参数的值是否改变与函数中对变量的操作有关,与参数类型无关 D.参数是整数类型时,不改变原参数的值 【答案】A 【解析】参数是可变数据类型的时候,会改变原参数的值 3.下列选项中,对于函数的定义错误的是( ) A. def func(a, * b): B. def func(a,b): C. def func( * a,b): D. def func(a,b=2): 【答案】C 【解析】不定长参数必须放在位置参数的右端 4.在定义标准自定义函数时,下列( )可以缺省。 A.函数名 B.形参 C. def D.( ) 【答案】B 【解析】自定义函数时,参数和返回值可以缺省 5.在标准自定义函数中,按照执行顺序首先执行( ) A.实参传递给形参 B.形参进行相关运算 C.将返回值返回到调用处 D.使用返回结果再进行相关运算 【答案】A 【解析】调用函数时,首先把实参传递给形参。再执行函数体内的程序,再将运算的结果返回 6.在标准自定义函数中,形参前有一个“*”,表示将接收的值存放到一个( )中。 A.字符串 B.字典 C.元组 D.列表 【答案】C 【解析】形参前面加*表示元组不定长参数,在参数前面加**表示字典不定长参数 7. 在定义匿名函数时,下列( )不可以缺省。 A. lambda B.函数名 C. return D.( ) 【答案】A 【解析】定义匿名函数,关键字lambda不能缺省 8.下列选项中,引用不正确的是( )。 A.import random B. form random import * C.import random as rd D. from random import random 【答案】D 【解析】from 模块名 import 函数名,因此D选项错误 9. 在调用函数时,传递的参数必须与函数定义的参数一一对应,以上描述的是( ) A.位置参数 B. 默认参数 C.关键字参数 D.可变参数 【答案】A 【解析】传递的参数必须与函数定义的参数一一对应是位置参数的要求 10. 在调用时,采用“参数名=值”的方式,可以无须考虑函数定义中参数的位置顺序,以上描述的是( ) A.不可变参数 B. 默认参数 C.关键字参数 D.可变参数 【答案】C 【解析】关键字参数无须考虑函数定义中参数的位置顺序 二、填空题 1. 定义函数时,使用关键字______。 【答案】def 【解析】def 来定义函数 2. 如果函数没有返回值,那么该函数的返回值为____。 【答案】None 【解析】函数没有返回值,则默认返回None 3. 自定义函数时哪些是可以缺省的________________。 【答案】函数参数、函数返回值 【解析】函数参数、函数返回值可以缺省 4. 函数调用时,若是位置参数则实参和形参的个数必须____。 【答案】一一对应 【解析】位置参数的要求是实参与形参的个数必须一一对应 5. 已知函数定义 def fun(*p): return sum(p), 则表达式 fun(1,2,3)的值为____。 【答案】6 【解析】将传入的1,2,3封装成元组,sum((1,2,3))得到的累加和为6 6. 在定义函数时,参数名前加“*”表示该参数为____。 【答案】不定长参数(元组不定长参数) 【解析】参数名前加*或**表示不定长参数 7.下面代码的运行结果是_________。 lst1=[3,4,5] lst2=[6,7,8,9] print(list(zip(lst1,lst2))) 【答案】[(3, 6), (4, 7), (5, 8)] 【解析】zip( )函数将lst1和lst2的元素一一对应,以lst1为主。 8.使用关键字_____来定义匿名函数。 【答案】lambda 【解析】使用lambda来定义匿名函数 9. 在函数内部,可以通过关键字____来定义全局变量。 【答案】global 【解析】使用global定义全局变量 10.下面代码的运行结果为____。 lst=[1,2,3,4,5] nlst=list(map(str,lst)) print(''.join(nlst)) 【答案】12345 【解析】map()函数指定str()函数依次处理每个元素,最后再使用join()函数拼接 三、程序设计题 1. 编写程序,实现将列表lst=[23,45,78,87,11,67,89,13,243,56,67,311,431,111,141]中的素数去除,并输出去除素数后列表lst的元素个数。(判断素数的部分使用函数) 【答案】 def su(n): if n>=2: flag=True for i in range(2,n): if n%i==0: flag=False break return flag else: return False lst=[23,45,78,87,11,67,89,13,243,56,67,311,431,111,141] nlst=[] for i in lst: if su(i): nlst.append(i) for i in nlst: lst.remove(i) print(len(lst)) 【解析】先定义一个判断素数的函数,找出lst里面的素数可以存放于另外一个列表。再遍历装着素数的列表从lst里面删除 2.猴子吃桃问题:猴子第一天摘了若干个桃子,当即吃了一半又多吃一个。第二天吃了一半又多吃一个,依次类推。到了第十天桃子只剩1个,问第一天摘了多少桃子? 【答案】 def tao(n): if n==10: return 1 else: return 2*tao(n+1)+2 print("第一天摘的桃子:",tao(1)) 【解析】问题的突破口是第十天的桃子只剩1个,那么第九天的桃子是2*1+2=4个,也就是第n天的桃子数为2*tao(n+1)+2l得来的 3.键盘输入两个正整数a,b。使用辗转相除法求两个数的最大公约数和最小公倍数 【答案】 def gygb(a,b): if a<b: a,b=b,a m=a*b while a%b!=0: a,b=b,a%b return b,m//b x,y=eval(input("请输入两个正整数:")) print("最大公约数:",gygb(x,y)[0]) print("最小公倍数:",gygb(x,y)[1]) 【解析】辗转相除法是一位数学家提出的,可以尝试着记住这个代码 学科网(北京)股份有限公司 $$ 专题十二 函数 一、单项选择题 1.下列说法错误的是( ) A.递归函数必须有基例 B.递归函数的基例不再进行递归 C.每个递归函数都只能有一个基例 D.递归函数的基例决定递归的深度 2.假设函数中不包括 global关键字,对于改变参数值的方法,下列叙述正确的是( ) A.参数是列表类型时,改变原参数的值 B.参数是元组时,改变原参数的值 C.参数的值是否改变与函数中对变量的操作有关,与参数类型无关 D.参数是整数类型时,不改变原参数的值 3.下列选项中,对于函数的定义错误的是( ) A. def func(a, * b): B. def func(a,b): C. def func( * a,b): D. def func(a,b=2): 4.在定义标准自定义函数时,下列( )可以缺省。 A.函数名 B.形参 C. def D.( ) 5.在标准自定义函数中,按照执行顺序首先执行( ) A.实参传递给形参 B.形参进行相关运算 C.将返回值返回到调用处 D.使用返回结果再进行相关运算 6.在标准自定义函数中,形参前有一个“*”,表示将接收的值存放到一个( )中。 A.字符串 B.字典 C.元组 D.列表 7. 在定义匿名函数时,下列( )不可以缺省。 A. lambda B.函数名 C. return D.( ) 8.下列选项中,引用不正确的是( )。 A.import random B. form random import * C.import random as rd D. from random import random 9. 在调用函数时,传递的参数必须与函数定义的参数一一对应,以上描述的是( ) A.位置参数 B. 默认参数 C.关键字参数 D.可变参数 10. 在调用时,采用“参数名=值”的方式,可以无须考虑函数定义中参数的位置顺序,以上描述的是( ) A.不可变参数 B. 默认参数 C.关键字参数 D.可变参数 二、填空题 1. 定义函数时,使用关键字______。 2. 如果函数没有返回值,那么该函数的返回值为____。 3. 自定义函数时哪些是可以缺省的________________。 4. 函数调用时,若是位置参数则实参和形参的个数必须____。 5. 已知函数定义 def fun(*p): return sum(p), 则表达式 fun(1,2,3)的值为____。 6. 在定义函数时,参数名前加“*”表示该参数为____。 7.下面代码的运行结果是_________。 lst1=[3,4,5] lst2=[6,7,8,9] print(list(zip(lst1,lst2))) 8.使用关键字_____来定义匿名函数。 9. 在函数内部,可以通过关键字____来定义全局变量。 10.下面代码的运行结果为____。 lst=[1,2,3,4,5] nlst=list(map(str,lst)) print(''.join(nlst)) 三、程序设计题 1. 编写程序,实现将列表lst=[23,45,78,87,11,67,89,13,243,56,67,311,431,111,141]中的素数去除,并输出去除素数后列表lst的元素个数。(判断素数的部分使用函数) 2.猴子吃桃问题:猴子第一天摘了若干个桃子,当即吃了一半又多吃一个。第二天吃了一半又多吃一个,依次类推。到了第十天桃子只剩1个,问第一天摘了多少桃子? 3.键盘输入两个正整数a,b。使用辗转相除法求两个数的最大公约数和最小公倍数 学科网(北京)股份有限公司 $$

资源预览图

专题十二 函数(练习)-《Python程序设计》职教高考备考讲练测(安徽省)
1
专题十二 函数(练习)-《Python程序设计》职教高考备考讲练测(安徽省)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。