如何定义回文

0 投票
3 回答
732 浏览
提问于 2025-04-17 17:24

我正在尝试定义一个回文。到目前为止,我有这些内容,但我不太确定接下来该怎么做,能有人帮帮我吗?

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 个回答

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
1

试试这个:

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

比如说:

>>palindrone("dad")
True
2

你可以试试这样做:

sampleString[::-1] == sampleString

撰写回答