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_number
和 reversed_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.