def check(n) :

if n <= 1:

return True

elif n % 2 == 0 :

return check(n/2)

else :

return check(n/1)

Yes, The above function will only work when the number is a power of 2. It will result in infinite recursion when n is not a power of 2. check(3) will result in an infinite recursion. The reason is that in the last else statement the funtion is calling itself without any change to the number n : check(n/1)