def is_palindrome(n):
n=str(n)
if len(n)==1:
return True
elif len(n)%2==0 or (len(n)%2==1 and len(n)!=1):
for i in range(len(n)//2):
if n[i]==n[-(i+1)]:
else:
return False
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('测试成功!')
print('测试失败!')
老哥,你这个我对1000,10000这种数好像会判断错误,认定成回数
Sign in to make a reply
矜予
def is_palindrome(n):
n=str(n)
if len(n)==1:
return True
elif len(n)%2==0 or (len(n)%2==1 and len(n)!=1):
for i in range(len(n)//2):
if n[i]==n[-(i+1)]:
return True
else:
return False
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('测试失败!')