问题描述
def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6)
这是代码,结果来了
1
3
6
10
15
21
21
为什么“ 21”出现了2次? 我还在“ VS Code”,“ PyCharm”上执行了该命令,但这些都不包括最后一个“ 21” 怎么了?
代码和结果:
解决方法
def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(result) # Explicitly print the reults
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6) # Implicitly display the expression value
您的IDE将显示不是“ falsey”的任何表达式的值。您的函数将值21
返回到主程序。由于您以简单的表达式进行调用,因此您的IDE会评估该表达式并显示值。那就是您获得第二个21
的地方。如果您想抑制它,请尝试分配该值-无论如何都是正确的做法。
do_not_show = tri_recursion(6)