课程
/后端开发
/Python
/python进阶
构造斐波那契数列时候,为什么这样写代码不对呢
2015-03-20
源自:python进阶 6-4
正在回答
class Fib(object): def __init__(self,num): L=[0,1] for i in range(num-2): L.append((L[i]+L[i+1])) i=i+1 self.numbers=L
class Fib(object): def __init__(self,num): L=[0,1] i=0 while i<num-2: L.append((L[i]+L[i+1])) i=i+1 self.numbers=L
def __init__(self, num): self.fib_str = [] for i in range(num): if 0 == i or 1 == i: self.fib_str.append(i) else: self.fib_str.append(self.fib_str[i-2] + self.fib_str[i-1])
可以这样写。你的代码在for m in range(num)中m=0和1时会让v=K(m-2)+K(m-1)出错,因为index有负数。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计