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

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日

悬赏问题

  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台