def fn(num,result=1):
result *= num
# if num == 1:
# return result
# else:
# return fn(num-1,result)
return result if num == 1 else fn(num-1,result)
运行结果:
fn(4)
24
案例变形:
#def fn(n):
# return 1 if n == 1 else n*fn(n-1)
fn = lambda n:1 if n == 1 else n*fn(n-1)
fn(4)
运行结果:
24