不明白 def addop(f,a,b)的f指的是啥,然后lambda后面知道大约的写法 但是后面的两个参数又给我搞懵了😇
f就是你要传递给他的lambda表达式
def addIt(a, b):
if a > b:
return 0
else:
return a + addIt(a + 1, b)
print(addIt(1, 4))
def addSquare(a,b):
if a>b:
return 0
else:
return a*a+addSquare(a+1,b)
print(addSquare(1, 4))
def addCube(a,b):
if a>b:
return 0
else:
return a**3+addCube(a+1,b)
print(addCube(1,4))
def addOp(f,a,b):
if a > b:
return 0
else:
return f(a,b)
print(addOp(lambda a,b:addIt(a,b),1,4))
print(addOp(lambda a,b:addSquare(a,b),1,4))
print(addOp(lambda a,b:addCube(a,b),1,4))
结果
10
30
100
10
30
100
def addOp(f, a, b):
if a > b:
return 0
else:
return f(a, b)
f1 = lambda a, b: sum(range(a, b + 1))
f2 = lambda a, b: sum([i ** 2 for i in range(a, b + 1)])
f3 = lambda a, b: sum([i ** 3 for i in range(a, b + 1)])
print(addOp(f1, 1, 4)) # 和
print(addOp(f2, 1, 4)) # 平方
print(addOp(f3, 1, 4)) # 立方
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!