def fib(n): #递归实现
if n==0:
return 0
elif n==1:
return 1
else:
return fib(n-1)+fib(n-2) #数列第三项是前两项的和。
def fib_for(n):
fib = [0, 1] #初始化斐波那契数列前两项。
for i in range(2, n+1): #生成第二项到第n项。
fib.append(fib[i-1]+fib[i-2]) #数列第三项是前两项的和。
return fib #返回到第n项的整个数列。
# coding: utf-8
'''斐波那契数列的递归实现和for实现'''
def fib(n): #递归实现
if n==0:
return 0
elif n==1:
return 1
else:
return fib(n-1)+fib(n-2) #数列第三项是前两项的和。
def fib_for(n): #for实现
fib = [0, 1] #初始化斐波那契数列前两项。
for i in range(2, n+1): #生成第二项到第n项。
fib.append(fib[i-1]+fib[i-2]) #数列第三项是前两项的和。
return fib #返回到第n项的整个数列。
n = 10
s = f'斐波那契数列第{n}项'
blank = ' '
input(f'\n\n{s:.^33}\n\n{blank:8}递归实现:{fib(n)}\n\n{blank:8}For实现:{fib_for(n)[-1]}\n\nFor实现的到{n}项的数列:\n{fib_for(n)}\n\n{"The End":.^42}\n')
上一篇: 练习:旋转链表(list.insert(0, list.pop())实现)
下一篇:
来源:老齐教室