我正在尝试了解return
和递归,这是我的代码。
def test(n, k):
# print n
if n == 5:
print k
return
for i in range(k, -1, -1):
test(n+1, i)
if __name__ == "__main__":
test(0,10)
我希望代码在 n 第一次到达 5 并打印 10 时停止。
但是,代码正在经历所有可能的for
循环。
我想我误解了return
在递归调用中的用法。
是否有一种方法可以使用递归和for
循环结构来获得所需的内容?或者我了解递归完全错误的地方。
期待您的帮助。
伊恩
答案 0 :(得分:0)
这里不需要for循环。
def test(n, k):
# print n
if n == 5:
print(k)
return
test(n+1, k)
if __name__ == "__main__":
test(0,10)