# 1 文件内容如下,标题为:姓名,性别,年纪,薪资 # # 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}的形式 # 第一种 # l=[] # with open('1',encoding='utf-8')as f: # for line in f: # l1=line.split() # l.append({'name':l1[0],'sex':l1[1],'age':l1[2],'salary':l1[3]}) # print(l) # 第二种列表解析 # with open('1',encoding='utf-8')as f: # l=[{'name':line.split()[0],'sex':line.split()[1],'age':line.split()[2],'salary':line.split()[3]} for line in f] # print(l) # 2 根据1得到的列表,取出薪资最高的人的信息 # with open('1',encoding='utf-8')as f: # l=[{'name':line.split()[0],'sex':line.split()[1],'age':line.split()[2],'salary':line.split()[3]} for line in f] # print(max(l,key=lambda x:x['salary'])) # print([i for i in list if i['salary'] == max(i['salary'] for i in list)]) # 3 根据1到的列表,取出最年轻的人的信息 # with open('1',encoding='utf-8')as f: # l=[{'name':line.split()[0],'sex':line.split()[1],'age':line.split()[2],'salary':line.split()[3]} for line in f] # print(min(l,key=lambda x:x['age'])) # print([i for i in list if i['age']==min(i['age'] for i in list)]) # 4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式 # with open('1',encoding='utf-8')as f: # l=[{'name':line.split()[0],'sex':line.split()[1],'age':line.split()[2],'salary':line.split()[3]} for line in f] # print(list(map(lambda x:x['name'].capitalize(),l))) # print([i['name'].capitalize() for i in l]) # print(list(map(lambda x:x['name'].title(),l))) # 5 根据1得到的列表,过滤掉名字以a开头的人的信息 # with open ('1',encoding='utf-8') as f: # list=([{'name':line.split()[0],'sex':line.split()[1],'age':int(line.split()[2]),'salary':int(line.split()[3]),} for line in f]) # print([i for i in list if i['name'].startswith('a')]) # print(next(filter(lambda x:x['name'].startswith('a'),list))) # 6 使用递归打印斐波那契数列(前两个数的和得到第三个数) # 0 1 1 2 3 4 7... # def recur_fibo(n): # if n <= 1: # return n # else: # return(recur_fibo(n-1) + recur_fibo(n-2)) # nterms = int(input("您要输出几项? ")) # # 检查输入的数字是否正确 # if nterms <= 0: # print("输入正数") # else: # for i in range(nterms): # print(recur_fibo(i),end=' ')