函数作业02

2018-07-25  本文已影响0人  蘑菇plus

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

def reverse_list(list1):
    for index in range(len(list1)):
        item=list1.pop(index)
        list1.insert(0,item)
old_list=[1,2,8]
reverse_list(old_list)
print(old_list))
结果:[8, 2, 1]

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

def my_str(str1):
    list1=''
    for i in range(len(str1)):
        if i%2==0:
            list1 += str1[i]
        else:
            continue
    print(list1)
s='huffy'
my_str(s)
结果:hfy

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

isrunnian = lambda x: bool((x%4==0 and x%100!=0)or x%400==0)
print(isrunnian(2003))
结果:False

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

def prin_star(n=3):
    if n == 1:
        s1='*'
        print(s1.center(7))
        return
    prin_star(n - 1)
    s2='*'*(2*n-1)
    print(s2.center(7))
prin_star(4)
结果:
   *   
  ***  
 ***** 
*******
def my_print(n,m=0):
    if n==0:
        return None
    my_print(n-1,m+1)
    print(' '*m,end='')
    print('*'*(2*n-1))
my_print(4)
结果:
   *
  ***
 *****
*******

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

def my_check(list1):
    list2=[]
    if len(list1)>2:
        for i in range(0,len(list1)):
            list2.append(list1[i])
            if i==1:
                break
    return list2
list3=['a','f',7,9]
print(my_check(list3))
结果:['a', 'f']

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

def fb(n):
    if n == 1 or n == 2:
        return 1
    return fb(n-1)+fb(n-2)

print(fb(9))
结果:34

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

def get_num(list1):
    sum1=0
    count=0
    max1=0
    for i in range(0,len(list1)):
        sum1+=list1[i]
        count+=1
        if list1[i]>max1:
            max1=list1[i]
    average=sum1/count
    return max1,average
list2=[2,5,3,8]
print(get_num(list2))
结果:
(8, 4.5)

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

def my_list(list1):
    list2=[]
    for i in range(0,len(list1),2):
        list2.append(list1[i])
    return list2
list3=['q','d',6,9,'r']
print(my_list(list3))
结果:
['q', 6, 'r']
上一篇 下一篇

猜你喜欢

热点阅读