python解无忧公主数学题108

"""
python解无忧公主数学题108回文.py
题目来源: http://mp.weixin.qq.com/s?__biz=MzI5ODEwMDQyNw==&mid=402360973&idx=1&sn=31014f87b8e65c9cd1d40c625c9c3d90&3rd=MzA3MDU4NTYzMw==&scene=6#rd
2016年3月7日 14:59:17 codegay
"""
#利用到了集合的特性,进行集合交集运算
#2016年3月8日 05:59:41
def 方法1():
    f=lambda x,y: str(x*y)==str(x*y)[::-1]
    x91={r for r in range(1,100) if f(r,91)}
    x93={r for r in range(1,100) if f(r,93)}
    x95={r for r in range(1,100) if f(r,95)}
    x97={r for r in range(1,100) if f(r,97)}
    print("方法1结果:",x91&x93&x95&x97)
    return (x91&x93&x95&x97)
方法1()
#2016年3月8日 06:23:32
def ff2():
    def f(x,y):
        return str(x*y)==str(x*y)[::-1]
    results=[r for r in range(1,100) if f(r,91) and f(r,93) and f(r,95) and f(r,97)]
    print("方法2结果:",results)
    #2016年3月8日 06:40:33
    return results
ff2()
#2016年3月8日 06:59:08
#用正则匹配写一个
import re
def ff3():
    def f(x,y):
        return re.match(r"""^(\d?)(\d?)(\d?)(\d?)\4\3\2\1$""",str(x*y))
    x91=[r for r in range(1,100) if f(r,91)]
    results=[r for r in x91 if f(r,93) and f(r,95) and f(r,97)]
    print("方法3结果:",results)
    #2016年3月8日 07:29:33
ff3()
#2016年3月8日 08:39:02
#再尝试改进一下写法
def ff4():
    l=[91,93,95,97]
    f=lambda x,iters: False not in [str(x*r)==str(x*r)[::-1] for r in iters]
    results=[r for r in range(1,100) if f(r,l)]
    print("方法4结果:",results)
    #2016年3月8日 09:17:07
ff4()
												
											python解无忧公主数学题108的更多相关文章
- python解无忧公主数学题107.py
		
python解无忧公主数学题107.py """ python解无忧公主数学题107.py http://mp.weixin.qq.com/s?__biz=MzI5ODE ...
 - python解无忧公主的数学时间编程题001.py
		
python解无忧公主的数学时间编程题001.py """ python解无忧公主的数学时间编程题001.py http://mp.weixin.qq.com/s?__b ...
 - python解无忧公主的数学时间097.py
		
python解无忧公主的数学时间097.py """ python解无忧公主的数学时间097.py codegay 2016年3月30日 00:17:26 http:// ...
 - python  解压 压缩包
		
转 http://m.blog.csdn.net/blog/wice110956/26597179# 这里讨论使用Python解压如下五种压缩文件: .gz .tar .tgz .zip .rar ...
 - julia解无忧公主的数学时间097.jl
		
julia解无忧公主的数学时间097.jl #=""" julia解无忧公主的数学时间097.jl http://mp.weixin.qq.com/s?__biz=MzI ...
 - 关于Python 解包,你需要知道的一切
		
解包在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来(防杠精:此处描述并不严谨,因为容器中的元素并没有发生改变)放在其它地方,好比你老婆去菜市场买了一袋苹果回来分别发给家里的每个成员, ...
 - python解压压缩包的几种方法
		
这里讨论使用Python解压例如以下五种压缩文件: .gz .tar .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. ...
 - python 解压、复制、删除 文件
		
一.python3解压文件 1.python 解压文件代码示例 如下代码主要实现zip.rar.tar.tar.gz四种格式的压缩文件的解压 def unzip_file(src_file, dst_ ...
 - python解压压缩包的几种方式
		
这里讨论使用Python解压如下五种压缩文件: .gz .tar .tgz .zip .rar 简介 gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: ...
 
随机推荐
- javascript AOP实现
			
参考:http://www.cnblogs.com/rubylouvre/archive/2009/08/08/1541578.html function Person(){ this.say = f ...
 - listview定位到上次显示的位置
			
整体思路:滑动lictview时,记录listview的位置,定位时定位到该位置. 1.添加全局变量 private int scrolledX = 0; private int scrolledY ...
 - JSP HTML error code
			
<html> <head> <title>Setting HTTP Status Code</title> </head> <body ...
 - linux笔记:linux帮助命令,man,help,whatis,apropos
			
命令名称:man功能:获得帮助信息命令所在路径:/usr/bin/man用法:man 命令或配置文件其他:会调用less来查看该命令或配置文件的帮助信息. 命令名称:whatis功能:获得命令的简短介 ...
 - Link Collecting
			
----------------------------------\ ACM入门总结之常见输入输出格式暨hdu1089~1096 题解,谨献给对acm感兴趣的新人 - 博客频道 - CSDN.NET ...
 - 八大排序算法的 Python 实现
			
转载: 八大排序算法的 Python 实现 本文用Python实现了插入排序.希尔排序.冒泡排序.快速排序.直接选择排序.堆排序.归并排序.基数排序. 1.插入排序 描述 插入排序的基本操作就是将一个 ...
 - Qt之图形视图框架
			
简述 图形视图(Graphics View)提供了一个平台,用于大量自定义2D图元的管理与交互,并提供了一个视图部件(view widget)来显示可以缩放和旋转的图元. 框架包括一个事件传播架构,支 ...
 - JavaWeb基础: Tomcat
			
Tomcat目录层次结构 Tomcat本质上是一个Java应用,要启动Tomcat服务需要安装JRE并配置JRE的Path,才能通过Tomcat_HOME/bin/startup脚本正常启动Tomca ...
 - hdu----149850 years, 50 colors(最小覆盖点)
			
50 years, 50 colors Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
 - 79. 212. Word Search *HARD* -- 字符矩阵中查找单词
			
79. Word Search Given a 2D board and a word, find if the word exists in the grid. The word can be co ...