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

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

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函数输出小于某个数的所有回文数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python3实现的回文数判断及罗马数字转整数算法示例

    本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法.分享给大家供大家参考,具体如下: 回文数 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 . 从右向左读, 为 121- .因此它不是一个回文数. 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 .因此它不是一个回文数. 进阶:你

  • 解决Python中回文数和质数的问题

    一.前言 今天学习视频时课后作业是找出1000以内既是素数又是回文数的数,写代码这个很容易,结果一运行遇到了bug,输出结果跟预期不一样,调试了快30min,再接着一通搜索和回看视频才发现问题所在.所以特地写下来,方便以后查看.问题的关键是判断素数过程中for-else的用法上(具体看后面代码) 二.实现判断素数的功能 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数).via--Wikiped

  • 使用python实现回文数的四种方法小结

    回文数就是指整数倒过来和原整数相等. Example 1: Input: 121 Output: true Example 2: Input: -121 Output: false Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome. Example 3: Input: 10 Output: false Expla

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

    我就废话不多说了,直接上代码吧! 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[:] # 利用列表的切

  • 对Python3中的print函数以及与python2的对比分析

    本文首先介绍在python3中print函数的应用,然后对比在pyhton2中的应用.(本文作者所用版本为3.6.0) 首先我们通过help(print)命令来查看print函数的相关信息,(注意在python2中print不是函数,不能通过help获得相关信息). 第一行告诉我们print在python3中是一个内建函数. 然后是这个函数的调用格式,以及各参数的意义. 这个函数可以将values(可以是多个用逗号隔开的值)输出到一个数据流文件,默认的输出格式是标准输出(sys.stdout).

  • 对Python3中的input函数详解

    下面介绍python3中的input函数及其在python2及pyhton3中的不同. python3中的ininput函数,首先利用help(input)函数查看函数信息: 以上信息说明input函数在python中是一个内建函数,其从标准输入中读入一个字符串,并自动忽略换行符. 也就是说所有形式的输入按字符串处理,如果想要得到其他类型的数据进行强制类型转化.默认情况下没有 提示字符串(prompt  string),在给定提示字符串下,会在读入标准输入前标准输出提示字符串.如果遇 文件结束符

  • 详解Python3中的 input() 函数

    一.知识介绍: 1.input() 函数,接收任意输入,将所有输入默认为字符串处理,并返回字符串类型: 2.可以用作文本输入,如用户名,密码框的值输入: 3.语法:input("提示信息:") . 二.运用演示: 1.接收任意输入,并返回字符串类型: >>>height = input("输入身高:")          #运行 输入身高: 170                      #输入整数170 >>> type(a)

  • 解决python3中自定义wsgi函数,make_server函数报错的问题

    #coding:utf-8 from wsgiref.simple_server import make_server def RunServer(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return '<h1>Hello, web!</h1>' if __name__ == '__main__': httpd = make_server('localho

  • 在python3中使用shuffle函数要注意的地方

    1 shuffle函数与其他函数不一样的地方 shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能 请看下面的坑 1.1 误认为shuffle函数会有一个返回值的错误例子 num1 = list(range(1,39526)) #产生1-39525的数 num2 = random.shuffle(num1) num3 = num2[0:30000] #取前30000个行号的元素 num4 = num2[3000

  • python3中数组逆序输出方法

    我们可以很轻松的从1到9或者从9到1正着背一遍,反着背一遍.但是想要在编程实现这些看起来简单的操作,就没那么容易了.因为计算机需要一些指令,去告诉它数字或是其他的内容进行逆序的代码.既然我们之前已经学了不少倒序的方法了,今天我们就进入实战,看看在数组中的逆序是如何输出的吧. 将一个数组逆序输出,用第一个与最后一个交换. #!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == '__main__': a = [9,6,5,4,1] N =

  • Python3中的tuple函数知识点讲解

    本期给大家讲解的函数都不陌生,大家都遇到使用过,但是不要轻易觉得简单去学习,因为往往看似简单的东西,从一个方面深入下收都是一大堆的东西,千万不要停留在表面的认知,所以,为了让大家更好的掌握了解,下面小编整合相关的所以内容,给大家做详细的使用介绍,一起来了解学习下吧. 描述: 主要作用就是将列表转化成元组 语法: tuple() 参数: 列表 返回值: 元组 使用方式: list = ['example_A'] print (list) tuple = ('example_B',) print (

  • 利用正则表达式判断一个给定的字符是否是回文

    如果给定的字符串是回文,返回true,反之,返回false. 如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文). 注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文. 函数参数的值可以为"racecar","RaceCar"和"race CAR". 关键代码: 去掉字符串中的标点符号和空白格.可以用str.replace()+正则表达式匹配. v

随机推荐