Day 23 内置、匿名函数及递归

来源:互联网 发布:日本军国主义知乎 编辑:程序博客网 时间:2024/05/21 09:57

1 文件 a.txt 内容如下,标题为:姓名,性别,年纪,薪资

egon male 18 3000
alex male 38 30000
wupeiqi female 28 20000
yuanhao female 28 10000

要求:
1、 从文件中取出每一条记录放入列表中,列表的每个元素都是{'name':'egon','sex':'male','age':18,'salary':3000}的形式
2、 根据1得到的列表,取出薪资最高的人的信息
3、 根据1到的列表,取出最年轻的人的信息
4、 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
5、 根据1得到的列表,过滤掉名字以a开头的人的信息
6、 使用递归打印斐波那契数列  0 1 1 2 3 5 8... (前两个数的和得到第三个数)


goods = []with open('a.txt',encoding = 'utf-8') as f:    for line in f:        l = line.split()        goods.append({'name':l[0], 'sex':l[1], 'age':int(l[2]), 'salary':float(l[3])})    print(goods)print('薪资最高'.center(50,'='))print(max(goods,key=lambda x:x['salary']))print('最年轻的人'.center(50,'='))print(min(goods,key=lambda x:x['age']))print('名字首字母大写'.center(50,'='))print(list(map(lambda x:x['name'].capitalize(),goods)))print('名字以a开头'.center(50,'='))print(list(filter(lambda x:x['name'].startswith('a'),goods)))


# Fibonacci numbers module# def fib(n):     # write Fibonacci series up to n#     a, b = 1, 0#     while b < n:#         print(b, end=' ')#         a, b = b, a + b#     print()## fib(100)# def fib2(n):    # return Fibonacci series up to n#     result = []#     a, b = 1, 0#     while b < n:#         result.append(b)#         a, b = b, a + b#     return result## print(fib2(100))# fibs = [0, 1]# numZS = input('How many Fibonacci numbers do you want? ')# for i in range(int(numZS)-2):#     fibs.append(fibs[-2] + fibs[-1])# print(fibs)


原创粉丝点击