0

我正在尝试定义回文。这是我到目前为止所拥有的,但我不确定接下来会发生什么,有人可以帮助我。

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
4

3 回答 3

2

你可以尝试这样的事情:

sampleString[::-1] == sampleString
于 2013-02-28T04:05:58.207 回答
1

尝试这个:

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

例如:

>>palindrone("dad")
True
于 2013-02-28T04:07:36.620 回答
1

为了检查一个单词/字符串是否是回文,这就足够了,尽管正如其他人指出的那样,这是一个内存昂贵的解决方案:

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
于 2013-02-28T04:10:27.113 回答