唐山网站建设哪家优惠,电子商务网站建设的可行性分析,重庆市建设岗位培训网站,开发网站的空间分录姓名#xff1a;66 学号#xff1a; 专业年级#xff1a;2021级 班级#xff1a; 实验的准备阶段 (指导教师填写) 课程名称 Python开发与应用 实验名称 函数的应用 实验目的 #xff08;1#xff09;能够编写简单函数#xff0c;掌握不定长参数和返回值的应… 姓名66 学号 专业年级2021级 班级 实验的准备阶段 (指导教师填写) 课程名称 Python开发与应用 实验名称 函数的应用 实验目的 1能够编写简单函数掌握不定长参数和返回值的应用 2掌握mapreducefilter函数中lambda函数的应用 实验内容 1函数式编程参数和返回值的应用 2mapreducefilter函数的应用 实验类型 打R □验证性 □演示性 R设计性 £综合性 实验的重点、难点 实验重点不定长参数和返回值的应用、内置函数以及lambda编程 实验难点内置函数以及lambda编程 实验环境 Python 3.8以上版本pycharmanaconda等集成开发环境 实验的实施阶段 实验步骤及实验结果 1、实验题目函数式编程 (1)编写函数检查获取传入列表或者元组对象的所有奇数位索引对应的元素。 def ji(list):print(list[1::2])list [0,1,2,3,4,5]ji(list) (2)编写函数判断用户传入的对象字符串、元组、列表长度是否大于6。 def l(a): if len(a)6: print(用户传入的对象字符串、元组、列表长度大于6) return True else: print(用户传入的对象字符串、元组、列表长度不大于6) return Falsea [1,2,3,4,5,6,7] b [1,2,3,4,5] l(a) l(b) (3)编写函数检查传入列表的长度如果大于2将列表的前两项内容返回给调用者。 def l(a): if len(a)2: return a[0:2] else: print(传入对象的长度小于2) a [1,2,3] b [1]print(l(a)) l(b) (4)编写函数计算传入函数的字符串中数字、字母、空格以及其他内容的个数并返回 def g(a): ziMu 0 shuZi 0 kongGe 0 qiTa 0 for i in a: if ord(A)ord(i)ord(z): ziMu1 elif ord(0)ord(i)ord(9): shuZi1 elif ord(i) ord( ): kongGe1 else: qiTa1 print(f传入的对象中\n数字个数为{shuZi}\n字母的个数为{ziMu}\n空格的个数为{kongGe}\n其他内容的个数为{qiTa}) a Abc 1234 !g(a) (5)编写函数返回两个数字参数中较大的那个数字 def fun5(a,b): return max(a,b) a 3b 5print(fun5(a,b)) (6)编写函数接收多个数字求和并返回。 def fun6(*args): sum 0 for i in args: sumi return sumprint(fun6(1,2,3)) (7)编写函数参数为一个字符串返回这个字符串所有子串里面构成回文串的最大子串。 def fun7(a) : result for i in range(len(a)): for j in range(i,len(a)): value a[i:j1] value1 .join(reversed(value)) if value value1 and len(value)len(result): result value if result or len(result)2: return 该字符串不含回文串 else: return resultprint(fun7(12345456788765400)) (8)编写函数输入不定长参数将其中是整型的全部相加忽略非整型的参数。提示判断是否是整型可以使用isinstance函数 def fun8(*args): sum 0 for i in args: if isinstance(i,int): sum i return sumprint(fun8(1,2,3,ad,wdafd,4)) (9)编写函数传入函数中多个实参均为可迭代对象如字符串、元组、列表、集合等将每个实参的每个元素依次加入到函数的动态参数args里面例如传入两个参数[1, 2, 3] (10, 20最终args为1,2,3,10,20) def fun9(*a): args () for i in a: args tuple(i) return argsprint(fun9([1, 2, 3],(10, 20))) (10)编写函数传入函数中多个实参均为字典将每个实参的每个元素依次加入到函数的动态参数kwargs里面例如传入两个参数{one:1} {two:2}, 最终kwargs为{one: 1, two: 2}。 def fun10(*a): kargs {} for i in a: kargs.update(i) return kargsprint(fun10({one:1},{two:2})) (11)解一元二次方程。funca, b, c求x1 x2 源代码 import mathdef fun11(a,b,c): derta b**2 - 4*a*c if derta 0: x1 (-b - math.sqrt(derta)) / 2*a x2 (-b math.sqrt(derta)) / 2*a return 两个解: str(x1) str(x2) elif derta 0: x -b / 2*a return 一个解: x else: return 无解print(fun11(1,3,-4)) 列出测试数据和实验结果截图 实验题目sorted 函数的应用请使用sorted函数实现输入一个包含若干自然数的列表输出这些自然数降序排列后的新列表。 源代码 def fun(a): return sorted(a,reverseTrue)print(fun([1,5,9,6,3,4,7,8])) 列出测试数据和实验结果截图 3、请使用map函数实现 1编写程序输入一个自然数字符串然后输出各位数字之和。 def fun(a): return sum(map(int,a))print(fun(123456789)) 2编写程序输入一个包含若干整数的列表把列表中所有整数转换为字符串然后输出包含这些字符串的列表。 def fun(a): b list(map(str,a)) print(b) fun([1,2,3]) 3编写程序输入两个包含若干整数的等长列表把这两个列表看作两个向量输出这两个向量的内积。 源代码 def fun(a,b): return sum(map(lambda x,y:x*y,a,b))print(fun([1,2,3],[4,5,6])) 4.请使用reduce函数实现 1编写程序输入一个字符串输出翻转首尾交换的字符串。 from functools import reducedef fun(a): return reduce(lambda x,y:yx,a)print(fun(123456)) 2编写程序输入一个包含若干整数的列表输出这些整数的乘积。 源代码 from functools import reducedef fun(a): return reduce(lambda x,y:x*y,a)print(fun([1,2,3,4])) 5.请使用filter函数实现 1编写程序输入一个包含若干任意数据的列表输出该列表中等价于True的元素组成的列表 def fun(a): b filter(lambda x:x,a) print(list(b)) fun([1,0,-1]) 2编写程序输入一个包含若干整数的列表输出该列表中偶数组成的列表 源代码 def fun(a): b filter(lambda x: x % 2 0 , a) print(list(b)) fun([1,2,3,4,5,6]) 列出测试数据和实验结果截图 使用random模块随机生成20以内的数字用户有五次机会从键盘输入猜测的数字猜大提示猜大了猜小提示猜小了若在规定次数内猜对则退出程序否则继续猜数字直至次数用尽编写函数实现。源代码 import randomdef fun(): a random.randint(0,20)#能取到末尾值是闭区间。 for i in range(5): guess int(input(猜一下目标数字1到20之间)) if guess a: print(猜小了) elif guess a: print(猜大了) else: print(恭喜你猜对了目标数字是,guess) return print(f很遗憾你没有在规定次数内猜对。目标数字是 {a}) fun() 列出测试数据和实验结果截图 实验结果的处理阶段 实验结果的分析与总结 对实验结果进行分析列出错误及解决办法回答问题总结实验的心得体会以及提出改进意见。