题主是想将代码改写成函数式的?那就这样写,将lt作为函数的参数,将计算部分作为函数体,在函数外部,调用函数返回结果,打印输出。
def add_pos(x):
s=0
for i in range(len(x)):
if x[i]>0:
s+=x[i]
return s
lt=[2,-4,9,-5,6,13,-12,-3]
res=add_pos(lt)
print(res)
如要求用filter函数,就这样写:
def func(x):
s=filter(lambda a:a>0,x)
res=sum(s)
return res
lt = [2, -4, 9, -5, 6, 13, -12, -3]
res = func(lt)
print(res)
你的具体问题是什么?
这样吗
lt = [2,-4,9,-5,6,13,-12,-3]
s = sum(filter(lambda x: x>0, lt))
print("sum=",s)