演示
def run(n): if n>2: n-=1 run(n) print(n)run(4)223运行流程:1.进入run方法,判断n是大于2的,执行n-=1,此时n=3,run(3)2.n=3,执行run方法,判断n是大于2的,执行n-=1,此时n=2,run(2)3.n=2执行run方法,判断n是小于2的,此时不会进入if,执行 print(n)4.执行完 print(n),跳转调用处也就是第4行的run(n),拿到的n=2,再执行 print(n)5.执行完 print(n),跳转调用处也就是第4行的run(n),拿到的n=3,再执行 print(n)

def run(n): if n>2: n-=1 run(n) else: print(n)run(4)2运行流程:1.进入run方法,判断n是大于2的,执行n-=1,此时n=3,run(3)2.n=3,执行run方法,判断n是大于2的,执行n-=1,此时n=2,run(2)3.n=2执行run方法,判断n是小于2的,此时不会进入if,进入 else执行 print(n)4.执行完 print(n),跳转调用处也就是第4行的run(n),此时n=2,由于此时 print(n)在else里,所有不执行5.接着的不执行,跳转调用处也就是第4行的run(n),此时n=3,由于此时 print(n)在else里,所有不执行

递归运算
def mysum(n): if n > 0: return mysum(n - 1)+n else: return 0print(mysum(3))6
def jiecheng(n): result=0 if n > 1: result = n * jiecheng(n - 1) return result else: return 1print(jiecheng(3))6