斐波那契数列
1:1
2:1
3:2
4:3
5:5
6:8
7:13
规律n:(n-1+n-2)
递归方法,普通函数
def fib(n):
a,b=0,1
count=0
while count<n:
a,b=b,a+b
yield a
count+=1
for i in fib(10):
print(i)
用yield完成
for i in fib(10):
print(i)
def fib(i):
if i==1 or i==2:
return 1
else:
return fib(i-1)+fib(i-2)
i=int(input("请输入:"))
for n in range(1,i+1):
print("第",n,"个数是",fib(n))
用类实现
class Fib():
def __init__(self):
pass
def __call__(self,month):
a,b=1,1
n=1
while n<=month:
a,b=b,a+b
n+=1
return a
f=Fib()
for i in range(10):
print(f(i))