美文网首页
2018-10-11day10作业

2018-10-11day10作业

作者: 我是你唯一的py文件 | 来源:发表于2018-10-11 22:13 被阅读0次

    1.

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

    list1 = [1, 2, 3, 4]
    def change(list_c):
        for x in list_c[::-1]:
            list_c.remove(x)
            list_c.append(x)
        return list_c
    print(change(list1))
    

    2.

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

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

    3.

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

    judge = lambda y: ((y % 4 == 0) & (y % 100 != 0)) | (y % 400 == 0)
    print('111', judge(2100))
    

    4.

    使用递归打印:

    ```

    n = 3

    的时候

    @

    @ @ @

    @ @ @ @ @

    n = 4

    的时候:

    @

    @ @ @

    @ @ @ @ @

    @ @ @ @ @ @ @

    ```

    def print_star(n):
        str4 = ''
        if n == 1:
            print('*')
            return
        print_star(n - 1)
        str4 = '*'*(2*n-1)
        print(str4.center(n))
        return
    
    
    print_star(4)
    

    5.

    写函数, 利用递归获取斐波那契数列中的第

    10

    个数,并将该值返回给调用者。斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

    def fibonacci(n=10):
        if n == 1 or n == 2:
            return 1
        return fibonacci(n-1) + fibonacci(n-2)
    
    print(fibonacci(10))
    

    6.

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

    list6 = [32, 33, 56, 99, 12, 80, 56]
    
    
    def take6(list):
        num_m = 0
        average = 0
        for x in range(len(list)):
            if list[x] >= num_m:
                num_m = list[x]
        average = sum(list)/x
        return num_m, average
    
    
    print(take6(list6))
    

    7.

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

    list7 = [1, 23, 4, 5, 6, 9]
    
    def take7(nums):
        list7_t = []
        for x in nums[::2]:
            list7_t.append(x)
        return list7_t
    print(take7(list7))
    

    8.

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

    yt_update(字典1, 字典2)

    dict8_a = {'a': 1, 'b': 2}
    dict8_b = {'b': 3, 'c': 3, 'd':7}
    def change8(dict1, dict2):
            for x in dict1:
                dict2[x] = dict1[x]
            return dict2
    print(change8(dict8_a,dict8_b))
    

    9.

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

    yt_items(字典)

    例如:{'a': 1, 'b': 2, 'c': 3} - --> [('a', 1), ('b', 2), ('c', 3)]

    dict9 = {'a': 1, 'b': 2, 'c': 3}

    
    def change9(dict):
        list9 = []
        list9_z = []
        for x in dict:
            list9_z.append(x)
            list9_z.append(dict[x])
            list9.append(tuple(list9_z))
            del list9_z[0:2]
            print(list9)
    
    
    change9(dict9)
    

    相关文章

      网友评论

          本文标题:2018-10-11day10作业

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