因此该函数应检查列表是否对称;如果列表为空或者有一个整数,则它是对称的。
否则函数应该检查第一个和最后一个整数是否相同然后递归。如果没有,请返回False
。
代码似乎是正确的,但我无法弄清楚什么是错的以及为什么它不会返回False
。
def symm(lst):
t = len(lst)
if t == 0 or 1:
return True
if t>1:
if lst[0] == lst[-1]:
return symm(lst[1:-2])
else:
return False
print symm([6,6,6,6,7])
答案 0 :(得分:5)
if t == 0 or 1:
始终为真,因为此内容为if (t == 0) or (1):
,1
始终为真。
更改为:if t in [0,1]:
或只是if len(lst) < 2: