飘逸的python - 不使用keyword,求和1+2+…+n

依据题意,我们不能用到if/else/for/while等keyword.


--------------思考中------------


思路:

1.用递归实现循环

2.递归的终止条件不用if怎么推断呢?  答案是字典,当中用not not n来把数字n转成bool.


上代码:

def sum_(n):
    return n + {
            True:lambda:sum_(n-1),
            False:lambda:0
        }[not not n]()

print sum_(100)



posted @ 2017-08-07 20:53  mfmdaoyou  阅读(396)  评论(0编辑  收藏  举报