为什么在第18行出现错误:AttributeError:' FibCounter'对象没有属性' Fibcounter'发生

时间:2014-03-30 15:24:13

标签: python

class FibCounter:

    def __int__(self):
        self.Fibcounter = 0

    def getCount(self):
        return self.Fibcounter

    def resetCount(self):
        self.Fibcounter = 0
        return self.Fibcounter

    def fib(self,n):
        self.Fibcounter = self.Fibcounter + 1
        if n<3:
            return 1
        else:
            return fib(n-1)+fib(n-2)

def main():
    n = eval(input("Enter the value of n (n represents the nth Fibonacci number):" ))
    Fibonacci = FibCounter()
    Fibonacci.fib(n)
    print("The number of time fib function is called is:",Fibonacci.getCount())
    Fibonacci.resetCount()

if __name__ == '__main__': 
    main()

1 个答案:

答案 0 :(得分:2)

您错过了i

def __int__(self):

你想要

def __init__(self):

这就是Fibcounter未设置的原因;永远不会调用您的__int__函数。

(请注意,Fibcounter并不是FibCounter类中变量的绝佳名称,因此您可能需要更改它。)

之后,还有一些其他问题需要解决(fib无法自行调用,例如。)