Python中的回文数:如何判断一个数字是否为回文数?

Python中的回文数:如何判断一个数字是否为回文数?

更多Python相关文章,请阅读:Python 教程

什么是回文数?

回文数是一种字符串,从左到右读和从右到左读都相同。换句话说,回文字符串的反转等于原始字符串。

例如,civic、madam是回文数。

Cat不是回文数。因为它的反转为tac,不等于原始字符串(cat)。

编写一个程序,判断输入的字符串是否为回文数。

方法1-查找字符串的反转

  • 程序中的主要事项是查找字符串的反转。

  • 反转可以使用任何字符串反转方法来查找。我们将使用简单的切片方法来反转字符串。也可以使用内置的”.join(reversed())。虽然有其他方法可以反转字符串,但我们将使用简单的方法。

  • 比较反转的字符串与原始字符串。

  • 如果两个字符串都相等,则返回True,否则返回false。

示例

def isPalindrome(s):
   rev=s[::-1]
   if(rev==s):
      return True
   return False
print("输入一个字符串")
st=input()
print(isPalindrome(st))
Python

输出

输入一个字符串
madam
True
Python

方法2 -不查找字符串的反转

思路是不断比较字符串第一个和最后一个索引处的字符,直到它们不等。

我们将看两个不查找字符串反转的例子−

字符串值“madam”:

  • 我们比较相等的第一个和最后一个字符,然后我们比较相同的第二个和第二个最后一个字符。最后,我们只剩下一个字符。因此,该字符串是回文数。

字符串值“reader”:

  • 字符在进行第二个和第二个最后的比较时是相等的。

当比较第三个和第三个最后的字符时,它们不相等,因此不是一个回文数。

  • 我们可以通过递归或使用两个指针来实现这个想法。我们将使用两个指针来实现。我们从起始指针开始,在最后一个索引处结束。我们开始比较,如果字符相等,则我们增加起始指针并减少结束指针(因此将它们带到第二个和第二个最后一个字符等等)。

  • 我们什么时候返回false?如果我们发现任何一组指针的字符不相等,我们不需要查找更多的索引,可以返回False。

  • 什么时候返回True?在另一种情况下,如果字符串是回文数,则当两个指针变得相等(只有一个字符需要检查)或者起始指针超过结束指针时(所有字符都已检查)返回True。

示例

def isPalindrome(s):
   rev=s[::-1]
   if(rev==s):
      return True
   return False
print("输入一个字符串")
st=input()
print(isPalindrome(st))
Python

输出

输入一个字符串
reader
False
>>>
输入一个字符串
madam
True
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册