美文网首页
day8作业

day8作业

作者: HavenYoung | 来源:发表于2018-07-25 20:26 被阅读0次

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

    def swap(list, index1, index2):
        temp = list[index1]
        list[index1] = list[index2]
        list[index2] = temp
        return list
    
    # 倒序功能
    def list_swap(list):
        length = int(len(list))
        for index in range(int(length/2)):
            list = swap(list, index, length - 1 - index)
        return list
    
    list1 = [1, 2, 3, 4, 5]
    print(list_swap(list1))
    print(list1)
    

    结果:

    [5, 4, 3, 2, 1]
    [5, 4, 3, 2, 1]
    

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

    def get_odd(string):
        string_odd = ''
        for index in range(len(string)):
            if not index%2:
                string_odd += string[index]
        return string_odd
    
    print(get_odd('123456789'))
    

    结果:

    13579
    

    3.写⼀个匿名函数,判断指定的年是否是闰年
    4.使⽤递归打印:
    n = 3的时候
    @
    @@@
    @@@@@
    n = 4的时候:
    @
    @@@
    @@@@@
    @@@@@@@

    def print_star(n):
    
        if n == 1:
            print(' '*(ward - n) + '*')
            return
    
        print_star(n-1)
        print(' '*(ward - n), end='')
        print('*'*(2*n-1))
    
    ward = 5
    print_star(5)
    

    结果:

        *
       ***
      *****
     *******
    *********
    

    方法二(骆老师指点)

    def print_star(row, space=0):
        if row>1:
            print_star(row - 1, space + 1)
            print(' ' * space, end='')
            print('*' * (2 * row - 1))
        else:
            print(' '*space+'*')
            return
    
    print_star(5)
    

    结果:

        *
       ***
      *****
     *******
    *********
    

    5.写函数,检查传⼊列表的⻓度,如果⼤于2,那么仅保留前两个⻓度的内容,并将新内容返回给调⽤者。

    def string_cut(string):
        if len(string)>2:
            return string[0]+string[1]
    
        return '输入内容太短!'
    
    print(string_cut(input('请输入一串字符串:')))
    

    结果:

    请输入一串字符串:s2f1d2
    s2
    

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

    def rabbits(n):
        if n<=2:
            return 1
        return rabbits(n-1)+rabbits(n-2)
    
    print(rabbits(10))
    

    结果:

    请输入一串字符串:s2f1d2
    s2
    

    7.写⼀个函数,获取列表中的成绩的平均值,和最⾼分

    def score_manage(scores):
        max = scores[0]
        sum1 = 0
        for score in scores:
            sum1 += score
            if score > max:
                max = score
        ave = sum1/len(scores)
        return max, ave
    
    max, ave = score_manage([80, 81, 82, 83, 84, 85])
    print('最高分', max, '平均分', ave)
    

    结果:

    最高分 85 平均分 82.5
    

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

    def get_odd(list):
        list_new = []
        for index in range(len(list)):
            if not index%2:
                list_new.append(list[index])
        return list_new
    
    print(get_odd([1, 2, 3, 4, 5, 6, 7]))
    

    结果:

    [1, 3, 5, 7]
    

    相关文章

      网友评论

          本文标题:day8作业

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