私は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)
このコードが無限ループになるのはなぜですか?
EDIT: 無限ループになる理由がわかりました。これは変更されたコードです。内部関数定義内で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)