斐波那契数列(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)
拓展作业:
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() #调用函数,通过循环实现排序