I have a function def recFib which returns a bunch of different numbers but I'd like to be able to count how many times it returns "Computing fib( 3 )". I tried to implement a counter but it just returns 0. Does anyone know how I would do this?
CODE:
# fib.py
def loopFib(n):
# pre: n > 0
# returns the nth Fibonacci number
curr = 1
prev = 1
for i in range(n-2):
curr, prev = curr+prev, curr
return curr
def recFib(n):
print("Computing fib" "(",n,")" )
if n<3:
print("Leaving fib" "(",n,")" "returning",1)
return 1
else:
x=recFib(n-1)
y=recFib(n-2)
print("Leaving fib" "(",n,")" "returning",x+y)
return x+y
n = 10
#print(recFib(n))
counter = []
if (recFib(n) == "Computing fib( 3 )"):
counter.append('Three')
count3s = counter.count('Three')
print("Threes", count3s )
#Should return 21 instances of "Computing fib(3)"
OUTPUT: (example of what the output looks like)
Computing fib( 10 )
Computing fib( 9 )
Computing fib( 8 )
Computing fib( 7 )
Computing fib( 6 )
Computing fib( 5 )
Computing fib( 4 )
Computing fib( 3 )
Computing fib( 2 )
Leaving fib( 2 )returning 1
Computing fib( 1 )
Leaving fib( 1 )returning 1
Leaving fib( 3 )returning 2
Computing fib( 2 )
Leaving fib( 2 )returning 1
Leaving fib( 4 )returning 3
Computing fib( 3 )