2018-08-30 day9作业

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

def negative(list):
    list_new=[]
    for i in range(len(list)-1,-1,-1):
        list_new.append(list[i])
    return list_new

list_1=[1,3,6,43,56,2,98]
print(negative(list_1))

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

def get_odd_char(str_2):
    new_list=''
    for i in range(1,len(str_2),2):
        new_list+=str_2[i]
    return new_list

str_1='asdfghjcydsfkjdsffs'
print(get_odd_char(str_1))

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


is_leap=lambda year: year%4==0 and year%100!=0

year_1=int(input('请输入一个年份'))
if is_leap(year_1):
    print('您输入的年份%d是闰年'%(year_1))
else:
    print('您输入的年份%d不是闰年'%(year_1))

4,使用递归打印

def func_1(n):
    if n==1:
        print('@')
        return
    func_1(n-1)
    print('@' * n)
    return

func_1(4)

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

def func_5(list:list):
    new_list=[]
    if len(list)<=2:
        new_list=list
    new_list=[list[0],list[1]]
    return new_list

list_5=[1,3,4]
print(func_5(list_5))

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

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

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

def func_7(list):
    list.sort()
    sum=0
    for item in list:
        sum+=item
    return list[len(list)-1],sum/len(list)
list_7=[87,99,98,86,95,82,73]
max_7,mid_7=func_7(list_7)
print('成绩的最大值是%d,平均值是%d'%(max_7,mid_7))

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

def get_odd_item(list):
    new_list=[]
    for i in range(1,len(list),2):
        new_list+=[list[i]]
    return new_list

str_1=[123,232,54,78,453,128,97]
p

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