为什么我的代码导致无限循环?

时间:2012-11-04 04:20:21

标签: python

我是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)

1 个答案:

答案 0 :(得分:2)

循环中未修改bx,因此比较结果永远不会改变。