首頁 > 後端開發 > Python教學 > python怎麼輸出所有的水仙花數

python怎麼輸出所有的水仙花數

青灯夜游
發布: 2023-01-05 16:14:12
原創
70458 人瀏覽過

輸出方法:首先利用for語句循環從100到999的所有數字,並且把它賦值給變數n;然後分解變數n,取得個位數k、十位數j和百位數i ;最後判斷i、j和k數的立方和是否等於n,如果等於,就使用「print(n)」語句輸出即可。

python怎麼輸出所有的水仙花數

本教學操作環境:windows7系統、python3.7版,DELL G3電腦

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

python輸出所有的水仙數

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循環控制100-999個數,每個數分解出個位,十位,百位。

第一行:

for n in range(100,1000):
登入後複製

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

第二行:

i = n // 100
登入後複製

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

第三行:

j = n // 10 % 10
登入後複製

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

第四行:

k = n % 10
登入後複製

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

第五行:

if n == i ** 3 + j ** 3 + k ** 3:
登入後複製

判斷:如果n等於它百位數字的立方十位數字的立方個位數字的立方,那麼它就是水仙花數,這個時候,將滿足條件的n打印出來,否則就進入下一個循環

【相關推薦:Python3視頻教程

以上是python怎麼輸出所有的水仙花數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板