本文概述
如果我们从头到尾阅读字符串, 则该字符串就是回文, 它与begin到末尾相同。在编程中检测单词是否回文的逻辑非常简单, 你需要基本还原字符串并将其与原始字符串进行比较。如果字符串相等(过滤后的字符串和反向的过滤后的字符串), 那么该字符串就是回文, 很容易吧?在本文中, 我们将向你展示如何通过Python函数轻松遵循上述逻辑。
使用不直观的语法
语法不太容易理解的逻辑是使用[::-1]切片语法反转字符串并将其与原始字符串进行比较:
myString = "eye"
# Prints in this case "Is Palindrome"
if str(myString) == str(myString)[::-1]:
print "Is Palindrome"
else:
print "Is not Palindrome"
Python的str()方法将变量类型强制为字符串, 因此给定的参数将是一个字符串, 你可以将其与另一个字符串进行比较, 并使用[::-1]语法进行反转, 该语法与以下相同:
myString = str("eye")
# Prints in this case "Is Palindrome"
if myString == myString[::-1]:
print "Is Palindrome"
else:
print "Is not Palindrome"
另外, 你可以创建具有相同逻辑的方法:
def isPalindrome(myString):
return myString == myString[::-1]
使用易于阅读的语法
如果你不喜欢以前的语法, 则可以使用相反的Python方法遵循相同的逻辑:
myString = str("eye")
# Prints in this case "Is Palindrome"
if myString == ''.join(reversed(myString)):
print "Is Palindrome"
else:
print "Is not Palindrome"
编码愉快!
评论前必须登录!
注册