溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在python中輸出所有的水仙花數(shù)

發(fā)布時間:2021-05-10 17:09:55 來源:億速云 閱讀:1572 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)怎么在python中輸出所有的水仙花數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

python的數(shù)據(jù)類型有哪些?

python的數(shù)據(jù)類型:1. 數(shù)字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數(shù)據(jù)類型,集合中可以放任何數(shù)據(jù)類型。5. 元組,元組用”()”標(biāo)識,內(nèi)部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復(fù)的數(shù)據(jù)組合。

所謂"水仙花數(shù)"是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個"水仙花數(shù)",因為153=1的三次方+5的三次方+3的三次方。

python輸出所有的水仙花數(shù)

for n in range(100,1000):
    i = n // 100
    j = n // 10 % 10
    k = n % 10
    if n == i ** 3 + j ** 3 + k ** 3:
        print (n)

輸出:

153
370
371
407

詳解

程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。

第一行:

for n in range(100,1000):

因為水仙花數(shù)是一個三位數(shù),所以我們就循環(huán)從100到999的所有數(shù)字,并且把它賦值給n

第二行:

i = n // 100

用n整除100,得到的其實就是三位數(shù)的百位數(shù)字,將它賦值給i

第三行:

j = n // 10 % 10

用n整除10,得到的是百位數(shù)和十位數(shù)組成的兩位數(shù),再用這個數(shù)除以10求余數(shù),就得到了我們的十位數(shù)字,將它賦值給j

第四行:

k = n % 10

用n除以10,求余數(shù),得到的就是n的個位數(shù)數(shù)字,將它賦值給k,這個時候三位數(shù)n的百位、十位、個位數(shù)字,我們都已經(jīng)得到,并且分別賦值給了i,j,k

第五行:

if n == i ** 3 + j ** 3 + k ** 3:

判斷:如果n等于它百位數(shù)字的立方+十位數(shù)字的立方+個位數(shù)字的立方,那么它就是水仙花數(shù),這個時候,將滿足條件的n打印出來,否則就進(jìn)入下一個循環(huán)

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI