我是python的新手。当我试图编写简单的代码时,我遇到了一个我无法理解的特殊问题。以下是代码
def myLog(x, b):
temp = b
def mylog(x,b):
while b <= x :
mylog(x,b*temp)
return b/temp - 1
return mylog(x,b)
myLog(16,2)
为什么这段代码导致无限循环?
修改 我发现它导致无限循环的原因。这是修改后的代码。我忘记在内部函数定义
中使用 return 语句 def myLog(x, b):
temp = b
def mylog(x,b):
while b <= x :
return mylog(x,b*temp)
return b/temp - 1
return mylog(x,b)
myLog(16,2)
答案 0 :(得分:2)
循环中未修改b
和x
,因此比较结果永远不会改变。