为了账号安全,请及时绑定邮箱和手机立即绑定

求斐波那契数列

求问代码错在哪里

class Fib(object):
    def __init__(self,num):
        self.number = num
        a,b,L = 0,1,[]
        for i in range(num):
            L.append(a)
            a,b = b,a+b
        return self.number
    def __call__(self,num):
        return L
f = Fib()
print f(10)

正在回答

1 回答

你的错误有以下几个:
1.在初始化函数__inti__中,你返回的是num,没有把L返回;
2.__call__函数的形参num并未使用,可以去掉;
3.f = Fib(),没有传初始化参数10。


0 回复 有任何疑惑可以回复我~
#1

慕粉1547081773

__init__不需要返回东西,只需要把L这个list保存下来
2017-03-22 回复 有任何疑惑可以回复我~
#2

sulyeonW 提问者 回复 慕粉1547081773

请问__init__为什么不需要返回东西呢?那如果我想print list,是需要在call里面return L吗
2017-03-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

求斐波那契数列

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号