参考:
输入一段序列,判断该序列是否为回文
1,分别从左到右、从右到左判断字符是否相等。
def is_palindrome(text):
p1 = 0 p2 = len(text) - 1 t = text.lower() while p1 < p2:
if not text[p1].isalnum(): p1 += 1
elif not text[p2].isalnum(): p2 -= 1
else: print t[p1],t[p2] if t[p1] != t[p2]: return False p1 += 1 p2 -= 1
return True
if is_palindrome(raw_input("Input sentence: ")): print "Palindrome!"
|
2,直接将整个序列反转,判断源序列和反转后的序列是否相等
s = raw_input("Sentence? ").replace(" ", "").lower()
if s == s[::-1]: print "Your sentence is a palindrome" else: print "Not a palindrome"
|
阅读(1099) | 评论(0) | 转发(0) |