我有一点奇怪的问题。
理想情况下,程序应该在i的值达到10之后终止。但它会一直执行,直到收到以下错误。
ERROR:
File "test.py", line 6, in recursive
print "#%s - %s" % (string, num)
RuntimeError: maximum recursion depth exceeded while getting the str of an object
程序:
import os
def recursive(string, num):
i=0
while i<10:
print "#%s - %s" % (string, num)
recursive(string, num-1)
i=i+1
recursive("Hello world", 9)
答案 0 :(得分:1)
您正在递减num
,但从未测试过值
你应该有一个不会导致递归调用的终端案例
def recursive(string, num):
if num == 0:
return # terminal case
i=0
while i<10:
print "#%s - %s" % (string, num)
recursive(string, num-1)
i=i+1
公平地说,这可能不适合您的程序,但我不确定应该做什么