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

求解啊大佬们

class Fib(object):

    def __init__(self, num):
        a=0
        b=1
        L=[]
        for n in range(num):
            L.append(a)
            a=b
            b=a+b#这里这么写为什么会输出错误- -
            self.numbers=L
    def __str__(self):
        return str(self.numbers)

    __repr__=__str__
    def __len__(self):
        return len(self.numbers)

f = Fib(10)
print f
print len(f)

正在回答

5 回答

兄弟,思考一下如何交换两个瓶子里面的东西

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

b的值给a,同时b变成之前的a、b的和,所以需要临时变量实现。可以参考下

tmp = a

a = b

b = a + tmp

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

因为你先运行了a=b之后a的值已经变了,所以下面b=a+b实际上是b=2*b,所以你的序列是

[0, 1, 2, 4, 8, 16, 32, 64, 128, 256]

这样子的~

2 回复 有任何疑惑可以回复我~

a=b

b=a+b

下面一句就等于a=a+a  #  因为上边定义了a=b所以a和b相等

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

编码问题,识别不了汉字注释

在最开头加上# -*- coding:utf-8 -*-

就可以执行了

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

举报

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

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

进入课程

求解啊大佬们

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

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

帮助反馈 APP下载

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

公众号

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