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