Python 中反轉整數

Arjun Adhikari 2023年10月10日
  1. 在 Python 中使用數學方法檢查數字是否為迴文
  2. 在 Python 中使用字串反轉方法檢查數字是否為迴文
  3. 在 Python 中使用列表反轉方法查詢數字是否為迴文
Python 中反轉整數

一個單詞或一個數字,當其字元或數字顛倒時,如果它保持不變,則稱為迴文。本文將介紹一些通過反轉提供的數字來檢查數字是否為迴文的方法。

在 Python 中使用數學方法檢查數字是否為迴文

我們可以使用數學方法檢查一個數字是否是迴文數。該方法首先將號碼反轉,然後將反轉後的號碼與原號碼進行核對。如果兩個值相同,則該數字是迴文數。我們可以應用模數、加法、乘法和除法等數學運算來反轉數字。

例如,使用 input() 函式請求使用者輸入並將其儲存到 original_number 變數中。建立一個變數 copy_number 並在其中儲存 original number 的副本。建立另一個變數 reversed_number,並將其初始化為 0。使用 while 迴圈檢查 original_number 是否大於 0。在迴圈內,將 orignal_number 除以 10 的餘數儲存在 remainder 變數中。使用模 % 求餘數。然後,將 reversed_number 乘以 10 並加上 remainder。將值儲存在 reversed_number 變數中。接下來,將 original_number 除以 10 並將值儲存在相同的 orginal_number 變數中。在迴圈外檢查 copy_numberreversed_number 的值是否相同。如果值相同,則列印訊息說它是迴文,反之亦然。

在下面的示例中,original_number 的狀態在每次迭代中都會發生變化,因此我們將其副本儲存在變數 copy_number 中。使用者給出的數字是 12321,反過來也是一樣的,程式顯示是迴文。因此,我們可以使用數學方法來檢查一個數字是否是迴文。

示例程式碼:

# python 3.x
original_number = int(input("Enter an integer: "))
copy_number = original_number
reversed_number = 0
while original_number > 0:
    remainder = original_number % 10
    reversed_number = reversed_number * 10 + remainder
    original_number = original_number // 10
if copy_number == reversed_number:
    print(copy_number, "is a palindrome number")
else:
    print(copy_number, "is not a palindrome number")

輸出:

Enter an integer: 12321
12321 is a palindrome number

在 Python 中使用字串反轉方法檢查數字是否為迴文

我們可以使用 Python 中的字串反轉方法來檢查數字是否為迴文。我們可以使用 [::-1] 簡寫操作進行迴文檢查。它是用於反轉可迭代物件(即列表、字串、元組等)的單行。當操作符處理字串時,我們可以將整數值轉換為字串,反轉字串,然後將其轉換為整數。

例如,從使用者那裡獲取一個整數輸入並將其儲存在 number 變數中。使用 str() 函式將 number 轉換為字串,並對其使用 [::-1] 操作。用 int() 函式包裝整個表示式以將反向值轉換為整數。最後,使用 if 條件將 number 變數與反轉字串進行比較,並相應地顯示訊息。

在下面的示例中,我們將一個整數作為輸入,將其轉換為字串,然後將其反轉。然後將反轉的數字與整數進行比較,並與 number 變數進行比較。當我們反轉數字 454 時,它變成了相同的,但是當我們反轉數字 456 時,它變成了 654。因此,我們發現 number 變數是否是迴文。

示例程式碼:

# python 3.x
number = int(input("Enter a number : "))
if number == int(str(number)[::-1]):
    print(number, "is palindrome.")
else:
    print(number, "is not palindrome.")

輸出:

Enter a number : 454
454 is palindrome.

Enter a number : 456
456 is not palindrome.

在 Python 中使用列表反轉方法查詢數字是否為迴文

使用 List 反轉方法,我們可以反轉數字並檢查它是否是迴文。我們可以要求輸入整數並使用 str() 函式將其轉換為字串。可以使用 list() 函式將字串轉換為列表。我們可以使用 reverse() 函式來反轉列表項。我們可以使用 ' ' 分隔符和 join() 方法將列表項轉換為字串。最後,我們可以返回生成字串的整數表示。因此,我們可以將反轉後的數字與原始數字進行比較,以檢查它是否是迴文。

例如,建立一個變數 original_number 並儲存使用者詢問的輸入。應用 str() 函式將數字轉換為字串,然後應用 list() 函式將列表轉換為字串。將結果儲存在 lst_number 變數中。在 lst_number 上使用 reverse() 函式來反轉列表元素。使用 '' 分隔符呼叫 lst_number 上的 join() 方法將列表項轉換為單個字串。使用 int() 函式將字串轉換為整數並將其與 original_number 進行比較。因此,我們可以確定該數字是否為迴文數。

示例程式碼:

# python 3.x
original_number = int(input("Enter an integer : "))
lst_number = list(str(original_number))
lst_number.reverse()
reversed_number = "".join(lst_number)
if original_number == int(reversed_number):
    print(original_number, "is palindrome.")
else:
    print(original_number, "is not palindrome.")

輸出:

Enter an integer : 99
99 is palindrome.

相關文章 - Python Integer