m0_52537923 2021-07-14 21:10 采纳率: 100%
浏览 42
已采纳

Python的这道函数式编程的题应该怎么做?

 

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-07-14 21:31
    关注

    题主是想将代码改写成函数式的?那就这样写,将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)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月14日
  • 创建了问题 7月14日