Recursion function not working properly
- by jakecar
I'm having quite a hard time figuring out what's going wrong here:
class iterate():
def init(self):
self.length=1
def iterated(self, n):
if n==1:
return self.length
elif n%2==0:
self.length+=1
self.iterated(n/2)
elif n!=1:
self.length+=1
self.iterated(3*n+1)
For example, x=iterate()
x.iterated(5)
outputs None. It should output 6 because the length would look like this:
5 -- 16 -- 8 -- 4 -- 2 -- 1
After doing some debugging, I see that the self.length is returned properly but something goes wrong in the recursion. I'm not really sure. Thanks for any help.