Python 3 方法實現水仙花數程式設計

Mondo 家居 更新 2024-01-31

有一類數字稱為"水仙花數量",又稱“自戀數”和“阿姆斯特朗數”。 水仙花數是自然數的一類特殊,水仙花數是指3位數字其每個位上的數字立方體之和等於自身。本文將使用 Python 作為工具,通過用水仙花編寫程式來展示程式設計的獨創性。 **可以共享。

例如:abc = a3 + b3 + c3

例如,153 是水仙花數,因為 (1 3 + 5 3 + 3 3 = 153)。

讓我們一步一步地編寫乙個簡單的python程式來查詢水仙花的數量。

首先,我們需要獲取使用者輸入的範圍,以確定在哪個間隔內查詢水仙花的數量。 我們可以使用它input函式來實現此步驟。 注意水仙花的數量是三位數字,所以輸入範圍要合理。 例如,開頭為 123,結尾為 456。

start = int(input("請輸入起始範圍:"))

end = int(input("請輸入結束範圍:"))

接下來,我們使用迴圈遍歷指定範圍內的每個數字,並檢查它是否是水仙花數字。

for num in range(start, end + 1):

獲取每個數字。

temp = num

sum = 0

while temp > 0:

digit = temp % 10

sum1 += digit **3

temp //= 10

確定是否是水仙花的數量。

if num == sum1:

print(num)

方法如下for迴圈的工作原理:

迭代範圍內的每個數字:通過for num in range(start, end + 1),我們遍歷了從起始範圍到結束範圍的所有數字,包括邊界值。

獲取每個數字的立方體之和:對於每個數字num,我們使用乙個臨時變數temp儲存num. 然後,通過乙個while迴圈,我們從temp,一點一點地取數字,計算它們的立方體,然後將結果相加到sum1變數。 While 迴圈,通過執行餘數運算temp % 10獲取temp其立方體和意志的計算總和的個位數temp更新以刪除剩餘的個位數。 這個過程一直持續到temp變為 0。

確定是否是水仙花的數量。 在每次迭代中,我們檢查num是否等於sum如果相等,則表示該數字是水仙花的數量。

最後,我們將上述**放在一起,執行程式,看看在指定範圍內發現了哪些水仙花計數。

start = int(input("請輸入起始範圍:"))

end = int(input("請輸入結束範圍:"))

for num in range(start, end + 1):

temp = num

sum1 = 0

while temp > 0:

digit = temp % 10

sum1 += digit **3

temp //= 10

if num == sum1:

print(num)

通過執行此程式,您將獲得指定範圍內水仙花數量的列表。 例如,開頭為 123,結尾為 456。 對應結果如下:

當然,還有其他方法可以對水仙花的數量進行程式設計。 讓我們看一下使用列表推導的一種方法和使用函式的一種方法。 列表推理是一種在 Python 中構建列表的簡潔而強大的方法,我們可以用它來找出水仙花的數量。 以下是相應的**:

start = int(input("請輸入起始範圍:"))

end = int(input("請輸入結束範圍:"))

使用列表推導來查詢水仙花的數量。

narcissistic_numbers = [num for num in range(start, end + 1) if num == sum(int(digit) *3 for digit in str(num))]

print(narcissistic_numbers)

該方法採用列表推導和字串迭代來計算每個數字每個位元上的立方體之和,並通過條件判斷過濾掉水仙花的數量。 這更簡潔,但效能可能略低於迴圈方法。 再開始 123,結束 456。

我們還可以將判斷水仙花數量的過程封裝成乙個函式,以提高**的可讀性和可重用性**

def is_narcissistic(num):

return num == sum(int(digit) *3 for digit in str(num))

start = int(input("請輸入起始範圍:"))

end = int(input("請輸入結束範圍:"))

使用該函式找出水仙花的數量。

narcissistic_numbers = [num for num in range(start, end + 1) if is_narcissistic(num)]

print(narcissistic_numbers)

就是這樣,開頭是 123,結尾是 456。 得到相同的結果。

此方法是通過函式完成的is_narcissistic封裝了判斷水仙花數量的邏輯,使主程式更加清晰。 這三種方法各有特點,無論使用哪種方法,都能達到相同的效果,展示了Python程式設計的靈活性和多樣性。

通過編寫這個簡單的水仙花計數程式,我們不僅學會了如何使用 Python 進行基本的使用者輸入和迴圈,還了解了水仙花計數背後的數學原理。 通過這篇部落格,希望大家對水仙花的數量有更深入的了解,並能寫出簡單的程式。

相關問題答案

    教你如何輸入“biang”這個詞的 3 種方法?感興趣的網友看一看

    神秘而複雜的 biang 字猶如漢字王國中的瑰寶,獨具特色,魅力十足。它是陝西省習令人垂涎的美味 邊邊面 的象徵。這個字就像一幅山水畫,筆像幅風景,編織出這幅美麗的 biang 字卷。瞧瞧,biang 二字就像乙個迷宮,每一次筆畫都像迷宮中的一條走廊。在探索它的過程中,人們不斷發現新的驚喜和奧秘。有...

    如何以 3 種方式在 iPhone 上截圖?

    截圖是我們在使用手機時經常需要使用的一項功能,它可以幫助我們快速將資訊儲存在螢幕上,以便以後檢視或分享。蘋果手機提供了多種截圖方式,操作簡單,功能強大。下面,我們將為您一一介紹這些螢幕截圖方法。.詳細操作步驟。.基本截圖方法 開啟要截圖的內容,確保它顯示在螢幕上。同時按下手機的 側面電源按鈕 和 音...

    如何獲取共享檔案? 輕鬆共享資料的三種方式

    無論是工作 習還是生活,共享檔案已經成為我們快速傳輸和共享資訊的重要方式。那麼,如何共享檔案呢?本文將介紹幾種常見的檔案共享方式,讓您告別繁瑣的傳輸,一鍵輕鬆共享資料。.使用雲儲存平台 雲儲存平台是共享檔案最簡單 最方便的方式之一。雲 阿里雲等平台提供免費或付費的儲存空間,您可以將需要分享的檔案上傳...

    提高男性性生活質量的3種方法

    男人婚姻生活中的短暫時間可能會影響夫妻關係,這對男人來說是乙個傷害自尊的問題。這種情況可能與以下三個因素有關 一是夫妻生活過於頻繁,容易導致身體透支 二是方式不對,缺乏溫柔的調情 三是腎虛。我們應該怎麼做?首先,夫妻生活的頻率確實是乙個需要注意的問題。頻繁的性生活會導致透支,甚至影響男性的生理機能。...

    如何刪除CAD的重疊線?3種方法,閱讀本文就足夠了

    如何刪除CAD的重疊線?在CAD 計算機輔助設計 軟體中,由於繪圖或編輯時處理不當或匯入的圖紙未標準化,可能會導致線條重疊。本文將向您展示如何刪除 CAD 中的重疊線,以確保圖紙的準確性和標準化。演示環境 ThinkPad E Windows 繪圖 . CAD 軟體通常提供用於檢測和處理圖紙中問題 ...