python3中利用filter函数输出小于某个数的所有回文数实例

yipeiwu_com7年前Python基础

我就废话不多说了,直接上代码吧!

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 == L2

def 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函数输出小于某个数的所有回文数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用 Python 玩转 GitHub 的贡献板(推荐)

使用 Python 玩转 GitHub 的贡献板(推荐)

细心的人都会发现GitHub个人主页有一个记录每天贡献次数的面板,我暂且称之为贡献面板。就像下图那个样子。只要当天在GitHub有提交记录,对应的小格子就会变成绿色,当天提交次数越多,颜...

如何使用VSCode愉快的写Python于调试配置步骤

如何使用VSCode愉快的写Python于调试配置步骤

在学习Python的过程中,一直没有找到比较趁手的第三方编辑器,用的最多的还是Python自带的编辑器。由于本人用惯了宇宙第一IDE(Visual Studio),所以当Visual S...

Python使用urllib2模块实现断点续传下载的方法

本文实例讲述了Python使用urllib2模块实现断点续传下载的方法。分享给大家供大家参考。具体分析如下: 在使用HTTP协议进行下载的时候只需要在头上设置一下Range的范围就可以进...

面向对象学习之pygame坦克大战

经过一天多的奋战,查阅文献,参考别人的代码等等,完成了第一个面向对象的小项目,也深深体会到面向对象编程思想在游戏编程中所扮演的角色。 附上代码,参考了别人的代码,以及对他们代码的完善,又...

python分析apache访问日志脚本分享

#!/usr/bin/env python # coding=utf-8 #---------------------------------------------------...