练习题 _递归和内置函数
Posted allenchen168
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习题 _递归和内置函数相关的知识,希望对你有一定的参考价值。
- 文件内容如下,标题为:姓名,性别,年纪,薪资
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)
以上是关于练习题 _递归和内置函数的主要内容,如果未能解决你的问题,请参考以下文章