编写一个简单的程序 myLog(x, b),计算数字 x 相对于底数 bn 的对数,换句话说,myLog 应返回 b 的最大幂,使得 b 的该幂仍小于或等于 x .
x 和 b 都是正整数;b 是大于或等于 2 的整数。您的函数应返回整数答案。
不要使用 Python 的日志函数;相反,请使用简单算术运算符和条件测试的迭代或递归解决方案。
下面的代码有什么问题?由于他们没有提到条件失败时要返回什么,所以一直保持为假
def myLog(x, b):
count = 1
while x > 0 and b >= 2:
ans = b ** count
if (ans == x):
print str(count)
break
elif (ans > x):
print str(count-1)
break
count += 1
else:
return False