python reduce使用实例

经过一个简单的算法来了解reduce的巧用。python

构建函数persistence(n),若是n>9,则返回0.不然继续根据n的权重来分解n,如n=999,则分解为9,9,9.那么将9*9*9=729继续作以上判断,直到n<-9,结果输出为2,而persistence(4)则为0.算法

利用python的强制转换将int转换为str后巧用reduce能够简单的实现。函数

 1 import operator
 2 def persistence(n):
 3     i = 0 
 4     while n > 9:
 5         n = reduce(operator.mul,[int(y) for y in str(n) ], 1)
 6         i += 1
 7     if i != 0:
 8         return n
 9     else:
10         return i

简单的记录下。spa

相关文章
相关标签/搜索