(1)调用自身
(2)结束条件
def run1(x):
print(x)
run1(x-1)
def run2(x):
if x > 0:
print(x)
run2(x+1)
def run3(x):
if x > 0:
print(x)
run3(x-1)
def run4(x):
if x > 0:
run4(x-1)
print(x)
如上所示,像(1)是没有结束条件的,会一直执行下去,不会出现停止;而(2)是同样的道理,小于等于零的数输入直接退出,大于零的数一直进入,一直循环,虽然有输出,但也不会终止;(3)是正常的一个循环递归,假设x为4,则会输出4,3,2,1;但是(4)因为是先循环,一次又一次的循环,直到终止条件退回上一次循环才会输出,仍然以4为例子,直到x=0时退回,然后加一输出1,同理再输出2,3,4,所以最后会依次输出1,2,3,4,容易出现疏忽,但也是递归。