python函数练习——斐波那契数列

128 阅读1分钟

斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、
……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)

请用递归编程实现 斐波那契数列

def fibonacci(num):  
    if num>2:  
        result= fibonacci(num-1) + fibonacci(num-2)  
    else:  
        result=1  
    return result  
    
if __name__ =='__main__':  
    a=[]  
for i in range(1,20):  
    a.append(fibonacci(i))  
  
print(a)

image.png 拓展作业:

1、存在一个列表,保存了多个学生的姓名,年龄,学号 xlist = [('小明',11,180119),('小洪',12,180102),('小军',10,180124),('小王',13,180101)] 如何通过每个学生的年龄把列表进行排序?

xlist=[('小明',11,180119),('小洪',12,180102),('小王',13,180101),('小军',10,180124)]  
  
##如何通过每个学生的年龄把列表进行排序   
def function1(xnum):  ##通过循环方式实现  
    xnum=len(xlist)
    for i in range(xnum):  
        if i< xnum-1:  
            for j in range(i+i,xnum):  
                if xlist[j][1]<xlist[i][1]:  
                    xlist[i],xlist[j]=xlist[j],xlist[j]  
    print(xlist)  
  
#通过函数实现  
def fuc(x):  
    return x[1]  
xlist.sort(key=fuc) #通过key 指定需要进行比对的元素,此例中即,对xlist列表中每个元组的索引值为1的元素进行比对  
print(xlist)  
  
function1()        #调用函数,通过循环实现排序

image.png