美文网首页
2018-10-11day10Homework

2018-10-11day10Homework

作者: 芽菜包66 | 来源:发表于2018-10-11 20:49 被阅读0次
    # 1.写一个函数将一个指定的列表中的元素逆序(如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)
    def reverse_list(list1: list):
        """
        将指定的列表逆序
        :param list1: 指定列表
        """
        """
        执行过程:
        list1 = [1, 2, 3]
        遍历下标,index取值范围:0 ~ 2
        index = 0  item = list1.pop(index) = list1.pop(0) = 1--> list1=[2,3] 
                   list1.insert(0, 1) --> list1 = [1,2,3]
        index = 1  item = list1.pop(1)=2 --> list1 = [1,3]
                   list1.insert(0,2) --> list1 = [2,1,3]
        index = 2  item = list1.pop(2)=3 --> list1 = [2, 1]
                   list1.insert(0,3) --> list1 = [3, 2, 1]
        """
        for index in range(len(list1)):
    
            item = list1.pop(index)
            list1.insert(0, item)
    
    
    list2 = [1, 2, 3]
    reverse_list(list2)
    print(list2)
    

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

    def odd(str1:str):
        new_str = ''
        for x in str1[1::2]:
            new_str += x
        return new_str
    print(odd('21d13ads123'))
    结果:'11as2'
    

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

    leap_year = lambda years:bool(not years%4 and years%100)
    print(leap_year(2016))
    结果:True
    

    使用递归打印:```n = 3的时候
    @
    @ @ @
    @ @ @ @ @
    n = 4的时候:
    @
    @ @ @
    @ @ @ @ @
    @ @ @ @ @ @ @

    def print_at(n):
    x = 1
    if x == n:
    print(n'@')
    return
    print(x
    '@')
    print_at(x+1)
    print(print_at(6))

    5.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
    def my_alg(n=10):
    sum1 = 1
    count1 =1
    if count1 == 10:
    print(sum1)
    return
    my_alg(+sum1)
    print(my_alg())
    6.写一个函数,获取列表中的成绩的平均值,和最高分

    def average_max(list1:list):
         x = 0
         max = 0
         sum = 0
         ave = 0
         for x in list1:
             sum += x
             ave = sum/len(list1)
             if x > max:
                 max = x
         return max,ave
     print(average_max([1,2,11,3,4,5,6,7,8,9]))
    结果:(11, 5.6)
    

    7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
    def odd2(args,kwargs):
    new_list = ''
    for x in (
    args,**kwargs)[1::2]:
    new_list += x
    return new_list
    print(odd2([1,2,'a'=3,'b'=4]))
    8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
    yt_update(字典1, 字典2)

     def hqf_update(dict1,dict2):
         for index1 in dict1:
             key = index1
             value = dict1[index1]
             dict2[key]=value
         return dict2
     print(hqf_update({'name':'hqf','sex':'man','school':'qinghua'},{'name':'666','age':18}))
    结果:{'name': 'hqf', 'age': 18, 'sex': 'man', 'school': 'qinghua'}
    

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

    def dict_list(dict1:dict):
       list1 = []
       for index1 in dict1:
           tuple1 = (index1,dict1[index1])
           list1.append(tuple1)
       return list1
    print(dict_list({'a': 1, 'b':2, 'c':3}))
    结果:[('a', 1), ('b', 2), ('c', 3)]
    

    相关文章

      网友评论

          本文标题:2018-10-11day10Homework

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