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

相關文章
相關標籤/搜索