2018-08-30 Day9 作业

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)
2018-08-30 Day9 作业_第1张图片
结果
2018-08-30 Day9 作业_第2张图片
main_module
2018-08-30 Day9 作业_第3张图片
list_module

你可能感兴趣的:(2018-08-30 Day9 作业)