Python程式檢查數字是否為迴文(單行程式碼)


通常,迴文是指一個單詞、短語、數字或其他字元序列,正著讀和反著讀都一樣。在Python程式的上下文中,迴文通常指的是一個字串或數字,當其字元或數字反轉時保持不變。

例如,讓我們考慮單詞“Madam”,當我們從左到右和從右到左閱讀這個單詞時,單詞將保持不變。所以這是一個迴文。

在Python中,有多種方法可以查詢給定的數字是否為迴文。首先讓我們看看不使用單行程式碼的基本方法。

基本方法

在這個例子中,我們建立了一個基本方法,使用字串切片來檢查給定的數字是否為迴文。

在這裡,我們將給定的輸入數字轉換為字串,然後應用字串切片來反轉數字。然後使用等於運算子比較反轉後的數字和原始數字。

def is_palindrome(number):
   return str(number) == str(number)[::-1]
num = 10001
if is_palindrome(num):
   print(num,"is a palindrome.")
else:
   print(num,"is not a palindrome.")

輸出

10001 is a palindrome.

使用lambda的單行程式碼方法

單行程式提供了一種簡潔的方法來檢查或對給定的輸入資料執行所需的運算。我們可以修改輸入值並使用它們來測試其他字串或數字的運算屬性。

Lambda函式也被稱為匿名函式,用於在Python中建立小的單行函式,無需使用def關鍵字。它們使用lambda關鍵字定義,後跟逗號分隔的引數列表、冒號(:)和要執行的表示式或運算。

以下是使用lambda函式的語法

lambda parameters:expression

示例

在這個單行程式示例中,定義了一個名為is_palindrome的lambda函式。此函式將數字num作為輸入,並透過使用[::-1]切片表示法應用字串切片將其與反轉後的數字進行比較。如果原始數字及其反轉後的數字相等,則表示該數字是迴文,lambda函式返回True;否則,返回False。

is_palindrome = lambda num: str(num) == str(num)[::-1]
num = 12121
if is_palindrome(num):
   print(num,"is a palindrome.")
else:
   print(num,"is not a palindrome.")

輸出

12121 is a palindrome.

更新於:2023年10月19日

357 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.