def is_palindrome(s):
s=str(s)
L=len(s)
if L==1:
return True
elif L%2==1:
return int(s[-1:(L//2):-1])/int(s[:L//2])==1
elif L%2==0:
return int(s[-1:(L//2-1):-1])/int(s[:L//2])==1
# 测试:
output = filter(is_palindrome, range(1, 1000))
print('1~1000:', list(output))
if list(filter(is_palindrome, range(1, 200))) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]:
print('测试成功!')
else:
print('测试失败!')
哎呀!看了一下大佬们的答案,是我想复杂了 <菜>
Sign in to make a reply
拖延症↘患者
def is_palindrome(s):
s=str(s)
L=len(s)
if L==1:
return True
elif L%2==1:
return int(s[-1:(L//2):-1])/int(s[:L//2])==1
elif L%2==0:
return int(s[-1:(L//2-1):-1])/int(s[:L//2])==1
# 测试:
output = filter(is_palindrome, range(1, 1000))
print('1~1000:', list(output))
if list(filter(is_palindrome, range(1, 200))) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]:
print('测试成功!')
else:
print('测试失败!')