美文网首页
day10-函数的应用-作业

day10-函数的应用-作业

作者: _桑心人 | 来源:发表于2018-10-11 21:04 被阅读0次

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

    代码如下

    def reserver(n):
        index = len(n)
        for x in range(index // 2):
            t = n[x]
            n[x] = n[index - x -1]
            n[index - x -1] = t
        return n
    
    
    list1 = ['a', 1, 2, 'asd', 56]
    list3 = ['a', 1, 2, 'asd']
    list2 = reserver(list1)
    print('逆序后', list2)
    list2 = reserver(list2)
    print('逆序后', list2)
    

    运行结果

    逆序后 [56, 'asd', 2, 1, 'a']
    逆序后 ['a', 1, 2, 'asd', 56]
    

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

    代码如下

    def qi_shu(str1):
        str2 = str1[1::2]
        return str2
    
    
    str1 = input('请输入一串字符串:')
    print('奇数位上的字符为:', qi_shu(str1))
    

    运行结果

    请输入一串字符串:5sd5a6ds5
    奇数位上的字符为: s56s
    

    3.写一个匿名函数,判断指定的年是否是闰年####代码如下

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

    运行结果

    是否闰年: False
    

    4.使用递归打印:

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

    代码如下

    def print_star(n, t):
        if n == 1:
            print(' ' * t, '@')
            return
        print_star(n - 1, t)
        print(' ' * (t - n + 1), '@' * (n + n - 1))
    
    
    print_star(5, 5)
    

    运行结果

          @
         @@@
        @@@@@
       @@@@@@@
      @@@@@@@@@
    

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

    代码如下

    def f1(a, a1, a2):
        if a == 10:
            return a1
        a3 = a1 + a2
        r = f1(a + 1, a2, a3)
        return r
    
    
    ret = f1(1, 0, 1)
    print('第十个斐波那契数:', ret)
    

    运行结果

    第十个斐波那契数: 34
    

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

    代码如下

    def Avg_max(*nums):
        sum1 = sum(nums)
        avg1 = sum1 / len(nums)
        n = 0
        for x in range(len(nums)):
            if n < nums[x]:
                n = nums[x]
        return avg1,n
    
    
    print('平均值为:', Avg_max(52, 36, 10, 3)[0], '最大值为:', Avg_max(52, 36, 10, 3)[1])
    

    运行结果

    平均值为: 25.25 最大值为: 52
    

    7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,值,和最高分

    代码如下

    def ji_index(*n):
        list1 = list(n)
        list2 = []
        for x in range(len(list1)):
            if x & 1:
                list2.append(list1[x])
        return list2
    
    
    print('新列表:', ji_index(2, 5, 'sad', 55, 'ad'))
    

    运行结果

    新列表: [5, 55]
    

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

    代码如下

    def dict_update(num1, num2):
        dict1 = dict(num1)
        dict2 = dict(num2)
        dict3 = {}
        for key1, value1 in dict1.items():
            for key2, value2 in dict2.items():
                if key1 != key2:
                    dict3[key1] = value1
                    dict3[key2] = value2
                else:
                    dict3[key1] = value2
        return dict3
    
    
    student = {'name': '小明', 'age': 30, 'study_id': 'py001', 'sex': 'boy'}
    student1 = {'name': '小王', 'study_id': 'py001', 'sex': 'boy', 'tel': 4665456}
    print('更新后为:', dict_update(student, student1))
    

    运行结果

    更新后为: {'name': '小王', 'study_id': 'py001', 'sex': 'boy', 'tel': 4665456, 'age': 30}
    

    9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)yt_items(字典)

    代码如下

    def dict_update(num1, num2):
        dict1 = dict(num1)
        dict2 = dict(num2)
        dict3 = {}
        for key1, value1 in dict1.items():
            for key2, value2 in dict2.items():
                if key1 != key2:
                    dict3[key1] = value1
                    dict3[key2] = value2
                else:
                    dict3[key1] = value2
        return dict3
    
    
    student = {'name': '小明', 'age': 30, 'study_id': 'py001', 'sex': 'boy'}
    student1 = {'name': '小王', 'study_id': 'py001', 'sex': 'boy', 'tel': 4665456}
    print('更新后为:', dict_update(student, student1))
    

    运行结果

    转换后: [('name', '小明'), ('age', 30), ('study_id', 'py001'), ('sex', 'boy')]
    

    相关文章

      网友评论

          本文标题:day10-函数的应用-作业

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