我的思路是正过来排和反过来排是一样,那就求出了回数啦!
但是对于纯菜鸟来说怎么反过来排是个大问题!!!
so 参考了各位的答案并在百度上查了一下结果是
str(n)[::-1] 这就是反过来排啦
def is_palindrome(n): if str(n) == str(n)[::-1]: return n
output = filter(is_palindrome, range(1, 1000)) print(list(output))
这样输出就OK啦。 但是看到有些人的答案和我略微有差别,但是无法理解
return str(n) == str(n)[::-1]: 和 if str(n) == str(n)[::-1]: return n 返回的结果是一样的??? 上面return我的理解返回的不是True or False吗?为什么能把n返回???
我的理解是这个地方校验返回值,如果是有效值均判断为True,比如就算你return 'a',这段代码输出结果也是正确的
确实 return a 一样的,多谢~!
Sign in to make a reply
xfsj_dcg_885
我的思路是正过来排和反过来排是一样,那就求出了回数啦!
但是对于纯菜鸟来说怎么反过来排是个大问题!!!
so 参考了各位的答案并在百度上查了一下结果是
str(n)[::-1] 这就是反过来排啦
-- coding: utf-8 --
def is_palindrome(n): if str(n) == str(n)[::-1]: return n
测试:
output = filter(is_palindrome, range(1, 1000)) print(list(output))
这样输出就OK啦。 但是看到有些人的答案和我略微有差别,但是无法理解
return str(n) == str(n)[::-1]: 和 if str(n) == str(n)[::-1]: return n 返回的结果是一样的??? 上面return我的理解返回的不是True or False吗?为什么能把n返回???