2 回答

TA贡献1850条经验 获得超11个赞
这是您的功能,是幼稚的方式。适用于奇数和偶数回文,列表和字符串:
def is_palindrome(s):
return s == s[::-1]
另一个问题是回文仅是奇数或偶数序列,还是两者都存在?我的意思是不仅应abccba和abcba匹配,或只是其中之一?
如果您只想将奇数或偶数序列视为回文,则可以添加测试:
def is_palindrome(s, t='both'):
# only odd sequences can be palindromes
if t=='odd':
if len(s)%2 == 0:
return False
else:
return s == s[::-1]
# only even sequences can be palindromes
elif t=='even':
if len(s)%2:
return False
else:
return s == s[::-1]
# both even or odd sequences can be palindromes
else:
return s == s[::-1]
作为字符串,只有一个函数是字符列表。如果您的老师真的想要两个功能,您仍然可以使用别名:
def is_list_palindrome(l, t='both'):
return is_palindrome(l, t)
添加回答
举报