使用 Operator 模块中的 mul 函数来实现阶乘:
fromoperatorimportmul deffactWithMul(n): returnreduce(mul,range(1,n+1))
相对来说,在Operator模块中使用计算功能,使得代码更加简洁。
从源代码分析,mul函数是计算两个参数的乘积。
defmul(a,b): "Sameasa*b." returna*b
拓展使用 lambda 方式来实现:
fromfunctoolsimportreduce deffact(n): returnreduce(lambdaa,b:a*b,range(1,n+1))
这里使用的是reduce方法。函数函数有两个参数。reduce()函数对集合中的第一个和第二个元素进行函数处理,然后对带有第三个元素的结果进行函数处理,最终得到一个结果。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)