第三次作业
>>>>>因断网丢失部分内容,以后再补.......
33、用递归计算 7*6*5*4*3*2*1的结果
def func(n): if n == 1: return 1 return n * func(n-1) a = func(7) print(a)
34、写程序
a. 利用filter、自定义函数获取l1 中元素大于33的所有元素 l1 = [11, 22, 33, 44, 55]
l1= [11, 22, 33, 44, 55] def func(x): if x > 33: return x print(list(filter(func, l1)))
b.利用filter、lambda表达式获取l1 中元素大于33的所有元素 l1 = [11, 22, 33, 44, 55]
l1= [11, 22, 33, 44, 55] print(list(filter(lambda x : x>33,l1)))
c.利用map、自定义函数将所有奇数的元素加100,li = [11, 22, 33, 44, 55]
li = [11, 22, 33, 44, 55] def func(x): if x % 2 != 0: return x + 100 a = list(map(func, li)) print(a)
d.利用map、lambda表达式将所有是偶数的元素加100,li = [11, 22, 33, 44, 55]
l1= [11, 22, 33, 44, 55] a = (filter(lambda x: x%2 == 0,l1)) print(list(map(lambda x : x+100,a)))
35、写程序
a.文件操作时 with的作用?
with 打开文件执行完毕后自动关闭
b.写程序利用with实现同时打开两个文件(一读一写,并将读取的内容写入到写入模式的文件中)
with open('wocao.txt','r') as f,open('sb.txt', 'w+') as g: a = f.read() g.write(a)
36.写函数:如有以下两个列表
l1 = [....]
l2 = []
第一个列表中的数字无序不重复排列,第二个列表为孔列表
需求:
取出第一个列表的最小值放到第二个列表的首个位置
取出第一个列表的最小值(仅大于上一次的最小值)放到第二个列表的首个位置
取出第一个列表的最小值(仅大于上一次的最小值)放到第二个列表的首个位置...
依次类推,从而获取一个有序的列表l2,并将其返还给函数调用者。
l1 = [12, 45, 23, 56, 34, 88] def func(x): l2 = [] while len(x)> 0: a = min(x) l2.insert(0, a) l1.remove(a) return l2 print(func(l1))
37、猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃一个,第二天又将剩下的桃子吃
了一半,还是不过瘾又多吃一个,以后每天都吃前一天剩下的一半再加一个,到第10天刚好剩下一个,问猴子第一天摘了多少个桃子?1534
s = 1 func = lambda x:(x + 1)*2 for i in range(9): s = func(s) print(s)
一个奋斗中的产品小白