1. 程式人生 > 其它 >Python實現回數

Python實現回數

題目:回數是指從左向右讀和從右向左讀都是一樣的數,例如 12321,909。請利用 filter()濾掉非回數:

思路:要實現回數判斷,主要是將輸入的數找到其各個位置的值,然後判斷前後相對應的位置是否值相同

程式碼實現:

一、利用陣列(列表實現):

 1 # -*- coding: utf-8 -*-
 2 def is_palindrome(n):
 3   N=[]
 4   while n!=0:
 5     N.append(n%10)
 6     n=n//10
 7   return N==N[::-1]
 8 output = filter(is_palindrome, range(1, 1000))
9 print('1~1000:', list(output)) 10 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]: 11 print('測試成功!') 12 else: 13 print('測試失敗!')

二、字串實現

1 def is_palindrome(n):
2     nn = str(n) #轉成字串
3 return nn == nn[::-1] #反轉字串並對比原字串返回true/false 4 print list(filter(is_palindrome,range(1,1000)))

三、lambda表示式

print list(filter(lambda n : str(n)==str(n)[::-1],range(1,1000))) #str(n)同上
作者:常cc 出處:https://www.cnblogs.com/changcc/

-------------------------------------------

個性簽名:獨學而無友,則孤陋而寡聞。做一個靈魂有趣的人!

如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!

萬水千山總是情,打賞一分行不行,所以如果你心情還比較高興,也是可以掃碼打賞博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!