Hello All. I'm currently trying to wrap my head around learning Python and I've come to a bit of a stall at recursive functions. In the text I'm using (Think Python), one of the exercises is to write a function that determines if number a is a power of number b using the following definition:
"A number, a, is a power of b if it is divisible by b and a/b is a power of b. Write a function called is_power that takes parameters a and b and returns True if a is a power of b."
The current state of my function is:
def isPower(a,b):
return a % b == 0 and (a/b) % b == 0
print isPower(num1,num2)
As it is, this produces the result I expect. However the chapter is focused on writing recursive functions to reduce redundancy and I'm not quite sure how I can turn the final "(a/b) % b == 0" into a recursion. I've attempted:
def isPower(a,b):
if a % b != 0:
return False
elif isPower((a/b),b):
return True
But that just returns None.
What is the proper way to recurse this function?