【发布时间】:2018-10-02 00:40:24
【问题描述】:
当使用递归时,我担心循环流在 Python 中是如何工作的(不管函数,只是了解循环流)
def factorial(n):
print("first line")
if n == 1 or n == 0:
return 1
result = n * factorial(n-1)
print('line after result')
print('current result is ' + str(result) )
print('before return result')
return result
在我的示例中,我使用了factorial(3),我得到了这样的结果:
first line
first line
first line
line after result
current result is 2
before return result
line after result
current result is 6
before return result
6
为什么我在计算/返回结果后得到 line after result 三次。我不应该在结果后只得到一次吗?循环返回多少次结果?我不明白递归循环流在 python 中是如何工作的。请帮忙。谢谢
【问题讨论】: