python 回文数

说明

回文数,即一个数正着写和反着写的结果是一样的。

例如:12345654321   True

123456123456   False

解题思路

1、将输入的数字转换为字符串

2、比较第一个和倒数第一个、第二个和倒数第二个.......是否相等

完整代码如下

# -*- coding: utf-8 -*-
def isPalindrome( x):
    # 先将输入的int类型数字转换为字符串类型,这样便于使用索引
    x = str(x)
    # 如果长度是1的话,我们就不用继续访问了
    if len(x) == 1:
        print 'True'
        return
    else:
        isPalindrome = True
        # 只需要遍历到中间的这个元素就可以了
        # 一边正着取元素,一边倒着取元素,如果在某一次不相等,则可以判断出不是回文。
        for i in range(len(x)//2):
            if x[i] != x[len(x)-1-i]:
                isPalindrome = False
                break
        if isPalindrome == False:
            print 'False'
        else:
            print 'True'
if __name__ == "__main__":
    isPalindrome(123456789987654321)

猜你喜欢

转载自blog.csdn.net/yunlongl/article/details/81273645