第三次作业

>>>>>因断网丢失部分内容,以后再补.......

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)

 

posted @ 2019-07-22 18:04  绝世刘  阅读(243)  评论(0编辑  收藏  举报