赞
踩
1、简单的说: 递归就是函数自己调用自己,每次调用时传入不同的值
2、递归有助于编程者解决复杂问题,同时可以让代码变得简洁
1、各种数学问题如:8皇后问题,汉诺塔,阶乘问题,迷宫问题等等。
2、各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等.
3、将用栈解决的问题->递归代码比较简洁
def f2(num1,num2):
max1 = num1 if num1 > num2 else num2
return max1,num2+num1
def f1(fun ,n1,n2):
return fun(n1,n2)
# 测试
x,y = f1(f2,10,20)
print(f"x={x},y={y}")
4. 实例
def f1(fun,num1,num2):
# print(f"fun类型: {type(fun)}")
return fun(num1,num2)
# 匿名函数
# 不需要return ,运算的结果就是返回值
lambda n1 ,n2 : n1 if n1 > n1+1 else n1+1
max_val = f1(lambda a,b: a if a>b else b,12,10)
print(f"max_val = {max_val}")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。