我就廢話不多說了,直接上代碼吧!
def _int_iter(): """根據回文數的定義。首先生成一個從0開始的整數無限序列""" n = 0 while True: yield n n += 1 def _is_palindrome(n): """判斷n是否為回文數,是就返回Ture,否就返回False""" L1 = list(str(n)) L2 = L1[:] # 利用列表的切片將L1復制出一個副本,并將副本賦值給L2(以免對L2進行操作時,改變L1) L2.reverse() #反轉L2(reverse函數只對原Iterable進行反轉,不會返回值) return L1 == L2def palindromes(): """利用filter進行篩選,只保留符合回文數要求的n值,并返回一個惰性的序列""" it = _int_iter() while True: n = next(it) yield n it = filter(_is_palindrome, it)# 利用for循環,輸出小于100000的所有回文數for num in palindromes(): if num < 100000: print(num) else: break
以上這篇 python3中利用filter函數輸出小于某個數的所有回文數實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網之家。
新聞熱點
疑難解答