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()
答案 0 :(得分:2)
您错过了i
:
def __int__(self):
你想要
def __init__(self):
这就是Fibcounter
未设置的原因;永远不会调用您的__int__
函数。
(请注意,Fibcounter
并不是FibCounter
类中变量的绝佳名称,因此您可能需要更改它。)
之后,还有一些其他问题需要解决(fib
无法自行调用,例如。)