python怎么實現(xiàn)水仙花數(shù)-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)主營杭錦后網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),杭錦后h5小程序定制開發(fā)搭建,杭錦后網(wǎng)站營銷推廣歡迎杭錦后等地區(qū)企業(yè)咨詢

這篇文章運用簡單易懂的例子給大家介紹python怎么實現(xiàn)水仙花數(shù),代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

水仙花數(shù)是指一個3位正整數(shù),它的每個位上的數(shù)字的3次冪之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)

下面用一句代碼實現(xiàn)找出所有的水仙花數(shù):

>>> 
>>> a = list(map(lambda x: x[1], filter(lambda x: x[0], [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)])))
>>> print(a)
[153, 370, 371, 407]
>>>

說明:

上面的代碼可以分解三句代碼:

a = [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)]
b = filter(lambda x: x[0], a)
c = list(map(lambda x: x[1], b))

第一句表示用列表推到遍歷所有的三位數(shù),每個數(shù)都打上標(biāo)記,是水仙花數(shù)著標(biāo)記True,不是則標(biāo)記False,標(biāo)記和數(shù)放到一個元祖:(flag, value),所有元組放在一個list結(jié)構(gòu)里。

第二句表示篩選出標(biāo)記為True的元組。

第三句表示把第一句篩選出來的元組的第二個值放到list結(jié)構(gòu)里。

加上print語句,執(zhí)行一遍上面三句代碼即可明白。

關(guān)于python怎么實現(xiàn)水仙花數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當(dāng)前文章:python怎么實現(xiàn)水仙花數(shù)-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://bm7419.com/article30/hoppo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站靜態(tài)網(wǎng)站、網(wǎng)站制作、定制網(wǎng)站、Google、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化