def power_of_2(p):
if p == 2:
return True
elif p < 2:
return False
return power_of_2(p/2)
print(power_of_2(32))
The function keeps dividing the number by 2 until it is equal to 2 or the number ends up being less than 2. If at some point the number is equal to 2, it is a power of 2 otherwise it's not a power of 2.