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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了飘逸的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)









以上是关于飘逸的python - 不使用keyword,求和1+2+…+n的主要内容,如果未能解决你的问题,请参考以下文章

飘逸的python - 增强的格式化字符串format函数

飘逸的python - __new____init____call__傻傻分不清

飘逸的python - 装饰器的本质

飘逸的python - ord和chr以及unichr

飘逸的python - 实现glob style pattern

飘逸的python - 几行代码实现unix管道风格的函数调用