如何定义回文
我正在尝试定义一个回文。到目前为止,我有这些内容,但我不太确定接下来该怎么做,能有人帮帮我吗?
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