Return 尽管条件工作中的其他一切都失败了
Return fails despite everything else in conditional working
我写了一个简单的递归函数来测试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)
当我 运行 它在一个应该 return 正确的情况下时,它没有 return 任何东西,即使它从与 return声明。
is_power(8,2)
True!
我假设我在做一些愚蠢的事情/遗漏了一些非常明显的事情。有人可以帮忙吗?
缺少最后一个选项'return'
确保您返回 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))
我写了一个简单的递归函数来测试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)
当我 运行 它在一个应该 return 正确的情况下时,它没有 return 任何东西,即使它从与 return声明。
is_power(8,2) True!
我假设我在做一些愚蠢的事情/遗漏了一些非常明显的事情。有人可以帮忙吗?
缺少最后一个选项'return'
确保您返回 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))