私は実験的に次のコードを使用してPythonの最大の再帰の深さを決定しようとしていた。pythonの最大再帰深度をテストするとき、なぜ私はRuntimeErrorを何度も打つのですか?
def recursive(i):
i = i + 1
try:
recursive(i)
except RuntimeError:
print 'max depth == %d' % i
exit(0)
recursive(0)
しかし、私はそれを実行したときに、これが起こった:時
[ hive ~ ]$ python recursive.py
max depth == 999
max depth == 998
max depth == 997
max depth == 996
max depth == 995
max depth == 994
はなぜ私のプログラムはすぐに出ていません最初にRuntimeError
が発生しましたが、recursive()
に5回以上電話をかけ続けましたか?
例外のメッセージを印刷すると、ヒントが得られる可能性があります。 –
は私のために期待通りに動作します –
そして、同じ情報を得るには['sys.getrecursionlimit()'](http://docs.python.org/2/library/sys.html#sys.getrecursionlimit)を使うだけです。 :-) –