1、基本方法
def Fib(n):
if n <=1:
return n
else:
return Fib(n-1) + Fib(n - 2)
x = eval(input("Please input a num:"))
if x <0:
print("Please input a right num!")
else:
for i in range(x):
print(Fib(i))
2、建个类
class Fib():
def __init__(self, num):
a, b, list = 0, 1, []
for i in range(num):
list.append(a)
a, b = b, a + b
self.numbers = list
def __str__(self):
return str(self.numbers)
__repr__ = __str__
n = eval(input("Please input a num:"))
print(Fib(n))
3、使用__call__改进 --- 类实例变为可调用对象
class Fib(object):
def __call__(self, num):
a, b, list = 0, 1, []
for i in range(num):
list.append(a)
a, b = b, a + b
self.numbers = list
return list
f = Fib()
print f(10)
本文介绍了三种实现斐波那契数列的方法:递归函数、利用类进行生成及通过类实例的__call__方法。每种方法都详细展示了如何通过Python编程语言来实现,并提供了完整的代码示例。
1343

被折叠的 条评论
为什么被折叠?



