我已经找到了解决方案但却无法找到解决方案。我想做一个递归,但该函数不能有一个return语句。 这是程序:
n = input("Input a positive integer: ")
text = open("Nummbers.txt", "w")
text.write("Number inputed: " + str(n))
tree(n)
def tree(n):
if(n>0):
tree(n-1)
print(n)
text.write(str(n))
tree(n-1)
当我运行它时,它给了我一棵未定义的错误'。树必须如上所述。我如何让这个正常工作所有我已经看到的递归教程已经设置了这样,我使用的是python 2.7
答案 0 :(得分:1)
您的def tree(n):
必须在在代码主体中第一次调用它之前。重新排列:
def tree(n):
if(n>0):
tree(n-1)
print(n)
text.write(str(n))
tree(n-1)
n = input("Input a positive integer: ")
text = open("Nummbers.txt", "w")
text.write("Number inputed: " + str(n))
tree(n)
当然,您现在遇到了相反的问题,text
未在函数内定义。您应该将其添加为参数,或者您可以重新重新排列并拆分代码。