Python 程序检查数字是否为回文(一行代码)

pythonserver side programmingprogramming

通常,回文是一个单词、短语、数字或其他字符序列,正读和倒读都一样。在 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 参数:表达式

示例

在此单行程序示例中,lambda 函数的定义名称为 is_palindrome。该函数以数字 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.

相关文章