我编写了一个简单的递归函数来测试a是否为b的幂。
def is_power(a, b):
""" returns True if a is a power of b"""
if a == b:
print('True!')
return True
elif a%b != 0:
return False
elif a != b and a%b == 0:
is_power(a/b, b)
当我在应该返回True的情况下运行它时,即使它从与return语句相同的if语句执行其他命令,也不会返回任何内容。
is_power(8,2) 没错!
我认为我正在做一些愚蠢的事情/错过了一些显而易见的事情。有人可以帮忙吗?
答案 0 :(得分:0)
最后一个选择是缺少“返回”
答案 1 :(得分:0)
确保像这样返回is_power(a / b,b):
def is_power(a, b):
if a == b:
return True
elif a%b != 0:
return False
elif a != b and a%b == 0:
return is_power(a/b, b)
print(is_power(9,2))