Day10 作业

2019-01-06  本文已影响0人  ChiAo1fei
  1. 写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)

    def reverse_list(list1: list):
        for index in range(0, len(list1)//2):
            list1[index], list1[len(list1)-1 - index] = list1[len(list1)-1 - index], list1[index]
        return list1
    
    
    print(reverse_list([1, 2, 3, 4, 5]))
    print(reverse_list([1, 2, 3, 4]))
    
    运行结果:
    [5, 4, 3, 2, 1]
    [4, 3, 2, 1]
    
  2. 写一个函数,提取出字符串中所有奇数位上的字符

    def str_odd(str1:str):
        for i in range(len(str1)):
            if i % 2 == 0:
                print(str1[i], end=' ')
    
    
    str_odd('abcd')
    print()
    
    运行结果:
    a c 
    
  3. 写一个匿名函数,判断指定的年是否是闰

    is_leapyear = lambda year: year % 4 ==0 and year % 100 != 0 or year % 400 == 0
    
    print(is_leapyear(1900))
    print(is_leapyear(2000))
    print(is_leapyear(2008))
    
    运行结果:
    False
    True
    True
    
  4. 写函数,提去字符串中所有的数字字符。例如: 传入'ahjs233k23sss4k' 返回: '233234'

    def about_num(str1:str):
        str2 = ''
        for i in str1:
            if not 'a' <= i <='z' or 'A' <= i <= 'Z':
                str2 += i
        return str2
        
     运行结果:
     233234
    
  5. 写一个函数,获取列表中的成绩的平均值,和最高分

    def gain_score(list1: list):
        sum1 = 0
        max1 = 0
        for s in list1:
            sum1 += s
            if max1 < s:
                max1 = s
        return sum1/len(list1), max1
    
    
    print(gain_score([85, 85, 80, 90]))
    
    运行结果:
    (85.0, 90)
    
  6. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者

    def homework_six(item):
        list1 = []
        for index in range(len(item)):
            if index % 2:
                list1.append(item[index])
        return list1
    
    
    print(homework_six((1, 2, 3, 4, 5, '6')))
    print(homework_six(['asd', '789', 3, 4, 5, '6']))
    
    运行结果:
    [2, 4, '6']
    ['789', 4, '6']
    
  7. 实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)yt_update(字典1, 字典2)

    def ff_update(dict1: dict, dict2: dict):
        for item2 in dict2:
            if item2 in dict1:
                dict1[item2] = dict2[item2]
            else:
                dict1[item2] = dict2[item2]
        return dict1
    
    
    print(ff_update({'a':2, 'b': 3}, {'a': 1, 'b': 5, 'c': 6}))
    
    运行结果:
    {'a': 1, 'b': 5, 'c': 6}
    
  8. 实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)yt_items(字典),例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]

    def ff_items(dict1: dict):
        list1 = []
        for key in dict1:
            list1.append((key, dict1[key]))
        return list1
    
    
    print(ff_items({'a': 1, 'b': 2, 'c': 3}))
    
    运行结果:
    [('a', 1), ('b', 2), ('c', 3)]
    
  9. 有一个列表中保存的所一个班的学生信息,使用max函数获取列表中成绩最好的学生信息和年龄最大的学生信息

    all_student = [
        {'name': '张三', 'age': 19, 'score': 90},
        {'name': 'stu1', 'age': 30, 'score': 79},
        {'name': 'xiaoming', 'age': 12, 'score': 87},
        {'name': 'stu22', 'age': 29, 'score': 99}
    ]
    
    
    print(max(all_student, key=lambda x: x['score']))
    print(max(all_student, key=lambda x: x['age']))
    
    运行结果:
    {'name': 'stu22', 'age': 29, 'score': 99}
    {'name': 'stu1', 'age': 30, 'score': 79}
    
上一篇下一篇

猜你喜欢

热点阅读