美文网首页
day10-课后作业

day10-课后作业

作者: 麻瓜_1fb4 | 来源:发表于2018-10-11 21:00 被阅读0次

    1.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)

    def list1_nixue_yuansu_(list1):
        list2 = list1[::-1]
        return list2
    
    def reverse_list(list1:list):
        for index in range(len(list1)):
            item = list1.pop(index)
            list1.insert(0, item)
    list2 = [1, 2, 3]
    reverse_list(list2)
    print(list2)
    

    2.写一个函数,提取出字符串中所有奇数位上的字符

    str1 = 'h1j3h12j3'
    str2 = ''
    def tack_j(str):
        global str2
        for x in str1[::2]:
            str2 += x
        return str2
    print(tack_j(str2))
    

    3.写一个匿名函数,判断指定的年是否是闰

    leap_year = lambda year: (year % 4 == 0 and year % 100 != 0) or year % 400 == 0
    
    print('是否闰年:', run(2000)
    

    4.使用递归打印:

    n = 3的时候   
       @    
      @@@  
     @@@@@ 
     
    n = 4的时候: 
        @
       @@@
      @@@@@
     @@@@@@@
    
    

    5.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。

    def sequence(n):
        """
        获取斐波那契数列的第n个数
        :param n: 第n个数
        :return: 指定位置的上的数
        """
        if n == 1 or n == 2:
            return 1
    
        # 规律:f(n) = f(n-1) + f(n-2)
        return sequence(n-1) + sequence(n-2)
    
    
    print(sequence(5))
    

    6.写一个函数,获取列表中的成绩的平均值,和最高分

    def list_avg_max(list1):
        max1 = max(list1)
        sum1 = 0
        for item in list1:
            sum1 += item
        avg = sum1/len(list1)
        return max1, avg
    print(list_avg_max([3,2,8]))
    

    7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者

    def child_list(list1: list):
        return list1[1::2]
    
    
    print([1, 2, 3, 4, 5, 6, 7])
    

    8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)

    def yt_update(dict1: dict, dict2: dict):
        for key in dict2:
            dict1[key] = dict2[key]
    
    
    dict1 = {'a': 1, 'b': 2, 'c': 1}
    yt_update(dict1, {'aa': 11, 'bb': 22, 'c': 100})
    print(dict1)
    

    9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
    yt_items(字典)
    例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]

    def yt_items(dict1: dict):
        """
        将字典转换成列表
        :param dict1: 被转换的字典
        :return: 列表
        """
        new_list = []   # 空列表保存结果
        for key in dict1:
            # 创建key和value对应的元祖
            tuple1 = (key, dict1[key])
            # 将元祖添加列表中
            new_list.append(tuple1)
    
        return new_list
    
    
    print(yt_items({'a': 1, 'b': 2, 'c': 3}))
    

    相关文章

      网友评论

          本文标题:day10-课后作业

          本文链接:https://www.haomeiwen.com/subject/enriaftx.html