如何定义回文

时间:2013-02-28 04:01:59

标签: python palindrome

我正在尝试定义一个回文。这是我到目前为止所得到的,但我不确定下一步有什么可以帮助我。

def palindrome(x):

    if x % 2==0:
        index1=0
        index2=0
        aString=str(x)
        number=len(aString)
        index1=number / 2
        index2=number / 2 -1
    else:
        index1=0
        index2=0
        aString=str(aString)
        number=len(aString)
        index1=number / 2 +1
        index2=number / 2 -1

3 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情:

sampleString[::-1] == sampleString

答案 1 :(得分:1)

试试这个:

def palindrone(x):
    return x == x[::-1]

例如:

>>palindrone("dad")
True

答案 2 :(得分:1)

为了检查单词/字符串是否是回文,这已经足够了,尽管作为others have pointed out,这是一个内存昂贵的解决方案:

def ispal(s):
    return s == s[::-1]

要检查一个数字是否是回文,有几种解决方案(我的清单并非详尽无遗):

import math

def ispal(n):
    return str(n) == str(n)[::-1]

def ispal2(n):
    digits = math.floor(math.log10(n) + 1)
    for ex in range(1, math.ceil(digits/2)):
        leftdigit = math.floor(n / 10**(digits - ex)) % 10
        rightdigit = math.floor(n / 10**(ex - 1)) % 10
        if not(leftdigit == rightdigit):
            return False

    return True