def foo(n):
if n <= 0:
return
print("Hello")
foo(n-1)
print("Bye")
foo(5)
def foo(n):
if n <= 0:
print("Bye")
return None
print("Hello")
return foo(n-1)
foo(5)
这样写试试,return自带跳出自定义函数的方法,所以你的return要在执行类语句之后
因为一直到n小于等于0的时候,才会返回None,也就相当于结束foo函数
而n>0时,会递归调用函数,每调用一次,经过一轮的foo递归,就会输出一次bye
def foo(n):
if n <= 0:
return
print("Hello")
foo(n-1)
print("Bye")
foo(5)