练习题 _递归和内置函数

Posted allenchen168

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习题 _递归和内置函数相关的知识,希望对你有一定的参考价值。

  1. 文件内容如下,标题为:姓名,性别,年纪,薪资
egon male 18 3000
alex male 38 30000
wupeiqi female 28 20000
yuanhao female 28 10000

要求:
从文件中取出每一条记录放入列表中,列表的每个元素都是‘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...)

7、一个嵌套很多层的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]],用递归取出所有的值

import copy

list1 = ['name','sex','age','salary']
list2 = []
with open('num_info.txt','r',encoding='utf8') as fr:
    list0 = fr.read().split('\n')
    # print(list0)
    for i in list0:
        u_info = i.split(' ')
        dic = k:v for k,v in zip(list1,u_info)
        list2.append(dic)
# 1、得到元素是字典的列表
print(list2)  
# 2、
print(max(list2,key=lambda dic:dic['salary']))
# 3、
print(min(list2,key=lambda dic:dic['age']))
# 4、
list3 = copy.deepcopy(list2)
for i in list3:
    i['name'] = i['name'].capitalize()
print(list3)

res = map(lambda item:item['name'].capitalize(),list3)
print(list(res))
5、
res2 = filter(lambda item:item['name'].startswith('a'), list2)
print(list(res2))
# 6、
def func(a,b,n):
    if b > n:
        return
    print(a,end=' ')
    func(b,a+b,n)
func(0,1,50)
# 7
l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]]
def fun(lis):
    for i in lis:
        if type(i) is list:
            fun(i)
        else:
            print(i,end=' ')
get(l)

以上是关于练习题 _递归和内置函数的主要内容,如果未能解决你的问题,请参考以下文章

python之路--day13---函数--三元表达式,递归,匿名函数,内置函数-----练习

python基础-函数_递归_内置函数

Python基础(10)_内置函数匿名函数递归

python16_day03集合函数递归内置函数

day15_函数递归_匿名函数_内置函数

高阶函数_递归函数_内置函数