【Python】Python方法求水仙花數原碼例項

程式設計師啟航發表於2019-07-03

用Python程式設計方法求水仙花數,一行python程式碼就能解決問題。

先要知道什麼是水仙花數,之後再去寫程式碼,這樣是非常有效的。

水仙花數是指一個 n 位正整數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。

Python方法求水仙花數原碼例項如下:

#method1
print [x for x in range(10**5) if sum(i**len(str(x)) for i in [int(j) for j in str(x)])==x]
 
#method2
print filter(lambda n: sum(map(lambda x: x**len(str(n)),map(int,list(str(n)))))==n,range(10**5))
 
#method3
from itertools import product
print [[n*'%s'%(i) for i in product(*([range(1,10)]+[range(0,10)]*(n-1))) if reduce(lambda x,y: 10*x+y,i)==sum(k**n for k in i)] for n in range(1,5+1)]


大家在學python的時候肯定會遇到很多難題,以及對於新技術的追求,這裡推薦一下我們的Python資源分享秋秋裙:855408893  內有安裝包,學習視訊資料,免費直播實戰案例。這裡是Python學習者的聚集地,零基礎,進階,都歡迎每日分享一些學習的方法和需要注意的小細節

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913713/viewspace-2649421/,如需轉載,請註明出處,否則將追究法律責任。

相關文章