1. 程式人生 > >回數是指從左向右讀和從右向左讀都是一樣的數,例如12321,909。請利用filter()篩選出回數

回數是指從左向右讀和從右向左讀都是一樣的數,例如12321,909。請利用filter()篩選出回數

連結源:http://taohuayuan.fun/post/2/

#
coding=utf-8 #計算數值的位數 def places(n): i=0 while n>1: n=n/10 i=i+1 return i #測試1 print(places(1234546)) #is_palindrome函式返回bool值,是否為回數 def is_palindrome(n): #將數值的每一位儲存在列表中, L = [] num=places(n) for i in range(1, num+ 1): L.append(n
% 10) n = int(n / 10) #cs表示數值中相等數字的個數,如12321,相等數字的個數為2 cs=0 for i in range(int(num/2)): if L[i]==L[-1-i]: cs=cs+1 else: cs=cs+0 return cs==int(num/2) #測試2 print(is_palindrome(12321)) print(is_palindrome(567834)) #測試3 print(list(filter(is_palindrome,[12312,12321,5678765,218,472839420])))