美文网首页
2018-08-30 Day9 作业

2018-08-30 Day9 作业

作者: Ftr_ | 来源:发表于2018-08-30 21:55 被阅读0次

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

    def reversed_order (list1:list):
        list2=list1[::-1]
        return list2
    print(reversed_order([1,2,3]))
    
    结果为:[3, 2, 1]
    

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

    def extract_str(str1):
        sum1=''
        for x in range(1,len(str1),2):
            sum1+=str1[x]
        return sum1
    print("奇数位上的字符为:",extract_str(input("请输入字符串:")))
    
    
    结果
    3.写一个匿名函数,判断指定的年是否是闰年
      1).能被4整除而不能被100整除.
      2).能被400整除.
    bissextile=lambda year:(year%4==0) and (year%400==0) and (year%100==0)
    year1=bissextile(int(input("请输入年份:")))
    if year1:
        print("是闰年")
    else:
        print("不是闰年")
    
    结果 结果

    4.使用递归打印:

    """
    n = 3的时候:
    @
    @@
    @@@
    n = 4的时候:
    @
    @@
    @@@
    @@@@
    """
    def func (n):
        if n==1:
            print('*')
            return None
        print('*'*n)
        func(n - 1)
    print(func(4))
    
    """
    ****
    ***
    **
    *
    None
    """
    

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

    def list_len(list1: list):
        list2 =[]
        list3 =[]
        if len(list1) > 2:
            for x in list1[0:2]:
                list2.append(x)
            for i in list1[2:len(list1)]:
                list3.append(i)
        return list2,list3
    
    
    ftr1,ftr2 = list_len([1, 2, 3, 4,5])
    print("保留的内容:%s\n返回值为:%s"%(ftr1,ftr2))
    
    结果

    6.写函数,利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者。(自己背着写)
    1,1,2,3,5,8,13,21·····

    def get_n (n):
        if n==1 or n==2:
            return 1
        return get_n(n-1)+get_n(n-2)
    print(get_n(10))
    
    结果为:55
    

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

    def max_average(list1: list):
        ave2 = 0
        sum2 = 0
        max2 = 0
        for x in list1[:]:
            sum2 += x
            if x > max2:
                max2 = x
        ave2 = sum2 / len(list1)
    
        return max2, ave2
    
    
    max2, ave2 = max_average([97, 67, 78, 89, 99, 69])
    print("平均值为:%.2f\n最高分为:%d" % (ave2, max2))
    
    结果

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

    def get_element (list1):
        list2=[]
        for x in list1[1::2]:
            list2.append(x)
        return list2
    element=get_element([0,1,2,3,4,5,6,7,8,9])
    print(element)
    
    结果为:[1, 3, 5, 7, 9]
    

    9.写一个属于自己的数学模块(封装自己认为以后常用的数学相关的函数和变量)和列表模块(封装自己认为以后常用的列表相关的操作)

    import main_module
    print(main_module.factorial)
    import list_module
    print(list_module)
    
    结果 main_module list_module

    相关文章

      网友评论

          本文标题:2018-08-30 Day9 作业

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