如何检查字符串是否是另一个字符串的回文

2024-05-14 06:16:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图检查传入函数的字符串是否是传入的第二个字符串的回文。Google将回文定义为前后拼写相同的单词。在

def palindrome(strA, strB):
  if (strA == strB and strA[::1] == strB):
    print "true"
  else:
    print "false"


if __name__ == '__main__':
  palindrome("sirap", "paris")

在上面的代码中,我试图检查给定的字符串是否与第二个字符串相等(无论是向前还是向后),但是我在main中对它进行的测试返回false。你知道我遗漏了什么吗?在


Tags: and函数字符串falsetrueif定义main
2条回答

检查'sirap'是否与'paris'相同,并检查反转的'sirap'是否与{}相同。你的if里有太多东西:

if strA[::-1] == strB:
    print "true"
else:
    print "false"

如果你传入一个回文和它的反向,同样的东西,你所拥有的会起作用。例如,palindrome("stats", "stats")将打印"true",但我不认为这是您想要的。您还将注意到我使用了strA[::-1]而不是{}。这是因为strA[::1]从开头开始一直到结尾,但是您希望返回,所以应该使用-1。在

你甚至可以用一句话:

^{pr2}$

我用“100个项目”做了一个类似的测试来学习python(对学习任何语言都很有用)

你可以这样做,然后运行脚本。为此,我只是对我写的原始回文脚本做了一些修改。在

print "This will check if its a palindrome"
inputstring = raw_input("String1: ")
inputstring2 = raw_input("String2: ")
inputstring = inputstring.lower()
inputstring2 = inputstring.lower()
revstring = inputstring[::-1] #Reverses the string

if revstring == inputstring2:
    print "Yes: " + revstring
else:
    print "No: " + revstring

相关问题 更多 >