zoukankan      html  css  js  c++  java
  • python之路--day13---函数--三元表达式,递归,匿名函数,内置函数-----练习

    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 4 7...)

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

     1 data = []
     2 with open('ceshi.txt','r',encoding='utf-8') as f:
     3     for line in f:
     4         i= line.strip('
    ').split(' ')
     5         dic = {
     6             'name':i[0],
     7             'sex':i[1],
     8             'age':int(i[2]),
     9             'salary':int(i[3])
    10         }
    11         data.append(dic)
    12 
    13 # [{'name': 'egon', 'sex': 'male', 'age': 18, 'salary': 3000}, 
    14 #  {'name': 'alex', 'sex': 'male', 'age': 38, 'salary': 30000}, 
    15 #  {'name': 'wupeiqi', 'sex': 'female', 'age': 28, 'salary': 20000},
    16 #  {'name': 'yuanhao', 'sex': 'female', 'age': 28, 'salary': 10000}]
    17 
    18 res=max(data,key=lambda x: x['salary'])
    19 res1=min(data,key=lambda x: x['age'])
    20 
    21 res2=map(lambda x: {'name':x['name'].capitalize(),
    22             'sex': x['sex'],
    23             'age': x['age'],
    24             'salary': x['salary']},
    25                 data)
    26 
    27 
    28 res3 = filter(lambda x:not x['name'].startswith('a'),data)
    29 
    30 
    31 #非递归
    32 def fib(n):
    33     a,b=0,1
    34     while a < n:
    35         print(a,end=' ')
    36         a,b=b,a+b
    37     print()
    38 
    39 fib(10)
    40 #递归
    41 def fib(a,b,stop):
    42     if  a > stop:
    43         return
    44     print(a,end=' ')
    45     fib(b,a+b,stop)
    46 
    47 fib(0,1,10)
    l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]]
    
    def list1(x):
        for item in x:
            if  not type(item) == list:
                print(item)
            else:
               list1(item)
  • 相关阅读:
    English Sentenses【no use】
    MacOS显示和不显示隐藏文件
    各个会议期刊论文录取情况
    C++之linux下文件结构实现
    Ubuntu安装opencv
    tmux使用
    事件的默认行为 与 事件流
    currentTarget 与 Target 的区别
    元数据标签Embed
    fl,flash,mx包的区别
  • 原文地址:https://www.cnblogs.com/guodengjian/p/8698503.html
Copyright © 2011-2022 走看看