找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1546|回复: 2

[讨论] 这样的递归是如何实现的?

1

主题

2

帖子

2

积分

贫民

积分
2
blown 发表于 2021-10-1 21:41:23 | 显示全部楼层 |阅读模式
本帖最后由 blown 于 2021-10-1 21:51 编辑

items = [1, 10, 7, 4, 5, 9]

def sumb(items):
    head, *tail = items
    print ("head:%d"%head)
    print ('tail:',end=' ')
    print (tail)
    return head + sumb(tail)   if tail else head

print(sumb(items))



return head +sum(tail) if tail else head
这句实现了递归,这是什么样的思路?没看懂,求大佬解释!




回复

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
blown  楼主| 发表于 2021-10-1 23:15:03 | 显示全部楼层
搞了半天才明白,这是压缩版的递归函数使用,正常人都不会这么写的!
回复 支持 1 反对 0

使用道具 举报

0

主题

8

帖子

8

积分

贫民

积分
8
无名者 发表于 2022-2-11 14:45:34 | 显示全部楼层
求个和搞这么复杂?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表